Skip to content
snapcasterDevelopers

Order cancelled (Snapcaster → Platform)

Sent when an Order (or a subset of its lines) is cancelled pre-ship, regardless of initiator: the echo back to the Platform whose own `POST …/cancel` caused it is harmless under `event_id` dedup. Reuses the `order.created` envelope, signing, and delivery semantics (see https://developers.snapcaster.ca/guide/webhook-signing and https://developers.snapcaster.ca/guide/path-b#delivery-semantics). Routed only to order-family Subscriptions (`orders` / `both`); inventory-family Platforms receive the compensating positive `inventory.adjusted` instead. No ordering guarantee: an `order.cancelled` may arrive before its Order’s `order.created` retry. Reconcile on `order_id`.

Delivery payload

The signed `order.cancelled` event.

Delivery payload: Signed Cancellation Delivery payload
{
"event_id": "evt_sandbox_01K4A9CJK1F6S8M3Y2G5T7Q0PV",
"type": "order.cancelled",
"created_at": "2026-09-04T19:05:00.000Z",
"data": {
"order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW",
"seller_id": 42,
"lines": [
{
"sku_id": 427286,
"external_ref": "platform-listing-1042",
"quantity": 1
}
]
},
"api_version": "2026-07"
}

Signature headers

FieldInTypeConstraintsMeaningExample
X-Snapcaster-TimestamprequiredheaderstringNoneUnix seconds when the request was signed; reject if outside a ±5 minute window.string (generated)
X-Snapcaster-SignaturerequiredheaderstringNone`sha256=` + lowercase hex of HMAC_SHA256(signingSecret, timestamp ‖ raw request body).string (generated)

Envelope fields

FieldTypeConstraintsMeaningExample
event_idrequiredstringNoneGlobally unique, stable across retries; the idempotency/dedup key (STABLE).evt_sandbox_01K4A9CJK1F6S8M3Y2G5T7Q0PV
typerequiredstringallowed values: order.cancelledEvent discriminator (STABLE).order.cancelled
created_atrequiredstringNoneISO-8601 UTC instant of the Cancellation itself, not the Order’s creation (STABLE).2026-09-04T19:05:00.000Z
datarequiredobjectNoneThe operation or event payload.{ "order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW", "seller_id": 42, "lines": [ { "sku_id": 427286, "external_ref": "platform-listing-1042", "quantity": 1 } ] }
api_versionrequiredstringallowed values: 2026-07The dated partner API version this payload was serialized at: the version frozen when the delivery was enqueued (never the live pin), so every retry carries the same value and byte-identical bytes. Added additively per the tolerant-reader rule; see https://developers.snapcaster.ca/guide/api-versioning (STABLE).2026-07

Receiver response

200 - Receiver acked. Return any 2xx after durably accepting the event (verified + persisted/enqueued).