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.
{ "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
| Field | In | Type | Constraints | Meaning | Example |
|---|---|---|---|---|---|
X-Snapcaster-Timestamprequired | header | string | None | Unix seconds when the request was signed; reject if outside a ±5 minute window. | string (generated) |
X-Snapcaster-Signaturerequired | header | string | None | `sha256=` + lowercase hex of HMAC_SHA256(signingSecret, timestamp ‖ raw request body). | string (generated) |
Envelope fields
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
event_idrequired | string | None | Globally unique, stable across retries; the idempotency/dedup key (STABLE). | evt_sandbox_01K4A9CJK1F6S8M3Y2G5T7Q0PV |
typerequired | string | allowed values: order.cancelled | Event discriminator (STABLE). | order.cancelled |
created_atrequired | string | None | ISO-8601 UTC instant of the Cancellation itself, not the Order’s creation (STABLE). | 2026-09-04T19:05:00.000Z |
datarequired | object | None | The operation or event payload. | {
"order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW",
"seller_id": 42,
"lines": [
{
"sku_id": 427286,
"external_ref": "platform-listing-1042",
"quantity": 1
}
]
} |
api_versionrequired | string | allowed values: 2026-07 | The 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).