Skip to content
Docs

03API reference

Version 1.0.0For developers

Webhook events

Each event is a POST of JSON to your endpoint, signed. How to check the signature and what to answer is in Webhooks.

order.created

An order was made

By the API, by FFL Checkout, or by staff.

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
data.intake_refrequiredstring
data.sourcerequired"api" | "manual"
data.statusrequired"pending" | "open"
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…",
    "intake_ref": "…",
    "source": "api",
    "status": "pending"
  }
}

order.matched

A pending order was matched to the store's own order

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
data.store_order_numberrequiredstring | null
data.statusrequired"open"
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…",
    "store_order_number": "…",
    "status": "open"
  }
}

order.cancelled

An order was cancelled

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
data.statusrequired"cancelled"
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…",
    "status": "cancelled"
  }
}

order.ready

An order was marked ready to ship

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…"
  }
}

order.shipped

An order was marked shipped

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
data.trackingstring | null
data.shipped_atrequiredstring (date-time)
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…",
    "tracking": "…",
    "shipped_at": "2026-10-16T14:02:11Z"
  }
}

order.delivered

An order was finished as delivered

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.order_idrequiredstring
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "order_id": "…"
  }
}

distributor_order.status_changed

A distributor order changed status

Carries the distributor's confirmation number and tracking when Rollmark has them, and the ids of the orders it serves.

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.distributor_order_idrequiredstring
data.po_numberrequiredstring
data.fromrequiredstring
data.torequiredstring
data.distributorrequiredstring
data.confirmation_numberstring | null
data.trackingstring | null
data.order_idsrequiredstring[]
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "distributor_order_id": "…",
    "po_number": "…",
    "from": "…",
    "to": "…",
    "distributor": "…",
    "confirmation_number": "…",
    "tracking": "…",
    "order_ids": [
      "…"
    ]
  }
}

ping

A test event

Sent by the test button and by POST /webhooks/{id}/test. It cannot be subscribed to.

FieldTypeDescription
idrequiredstring

Stable across retries and resends. Deduplicate on it.

typerequiredstring
created_atrequiredstring (date-time)
api_versionrequired"v1"
datarequiredobject
data.webhook_idstring
JSON
{
  "id": "…",
  "type": "…",
  "created_at": "2026-10-16T14:02:11Z",
  "api_version": "v1",
  "data": {
    "webhook_id": "…"
  }
}
Rollmark is made by Illumina Studios LLC. It was built at Ironcrest Arms LLC. Sample dealers, license numbers and costs in these docs are made up. Questions: [email protected].