API reference · Webhooks
Order cancelled
order.cancelledSnapcaster sends this event when an order or some of its lines are cancelled before shipping. The platform receives it even if its own cancel request caused the cancellation. Deduplicate by event_id.
The envelope, signing, and delivery behavior match order.created; see https://developers.snapcaster.ca/guide/webhook-signing and https://developers.snapcaster.ca/guide/path-b#delivery-semantics. Subscriptions orders and both receive this event. Subscriptions that receive inventory events also receive a positive inventory.adjusted; an inventory subscription receives only that adjustment.
Events can arrive out of order: order.cancelled may arrive before a retry of order.created. Reconcile by order_id.
Example
{
"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": [
{
"line_ref": "oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241",
"sku_id": 14602,
"external_ref": "platform-listing-1042",
"quantity": 1
}
]
},
"api_version": "2026-10"
}Signature headers
Snapcaster sends a POST to your webhook endpoint with these headers. Webhook signing shows how to verify them.
X-Snapcaster-Timestampstring requiredUnix seconds when the request was signed; reject if outside a ±5 minute window.
X-Snapcaster-Signaturestring requiredsha256=+ lowercase hex of HMAC_SHA256(signingSecret, timestamp ‖ raw request body).
Delivery payload
The signed order.cancelled event.
Payload type: Order
Envelope fields
event_idstring requiredA globally unique event id that stays the same across retries. Use it to deduplicate deliveries (STABLE).
Example
evt_sandbox_01K4A9CJK1F6S8M3Y2G5T7Q0PVtypestring requiredThe event type (STABLE).
Constraints: allowed values:
order.cancelledExampleorder.cancelledcreated_atstring requiredISO-8601 UTC instant of the cancellation itself, not the order’s creation (STABLE).
Example
2026-09-04T19:05:00.000ZdataOrderrequiredCancelled Data The operation or event payload.
api_versionstring requiredThe dated API version used for this payload, frozen when Snapcaster queued the delivery. Changing the platform pin does not change queued events or retries; they keep the same version. See https://developers.snapcaster.ca/guide/api-versioning (STABLE).
Constraints: allowed values:
2026-10Example2026-10
Payload fields
data.string requiredorder_id The cancelled order id. Use it to reconcile events for the same order (STABLE).
Example
ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VWdata.integer requiredseller_id The seller that owns the API key. Use this id to route the event to the right store (STABLE).
Example
42data.lines TerminationrequiredLine[] The cancelled lines and quantities. This field is always present. A whole-order cancellation includes every line (STABLE).
Constraints: minimum items: 1
Show child fieldsHide child fields
data.string or null requiredlines[]. line_ref The purchase-line reference of the terminated line, the same
line_refthe order body carries. Reconcile on this field: an order can hold two lines of onesku_id, and only this says which of them was cancelled or refunded. Null only on an event Snapcaster froze before this field existed.Example
oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241data.integer requiredlines[]. sku_id Canonical TCGplayer SKU id, the same id as the order line (STABLE).
Example
14602data.string or null requiredlines[]. external_ref Echo of the seller's opaque listing ref; null if the listing carried none (STABLE).
Example
platform-listing-1042data.integer requiredlines[]. quantity The cancelled or refunded quantity. It may be less than the quantity ordered for this line (STABLE).
Example
1
Receiver response
200 - Return any 2xx after verifying the event and durably accepting it.