OrderRefundedEvent
Reusable OrderRefundedEvent schema.
Type: object
Fields
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
event_idrequired | string | None | Globally unique, stable across retries. Refunds are repeatable: each Refund is its own event with its own id; dedup is per-Refund, not per-Order (STABLE). | string (generated) |
typerequired | string | allowed values: order.refunded | Event discriminator (STABLE). | order.refunded (generated) |
created_atrequired | string | None | ISO-8601 UTC instant of the Refund itself (STABLE). | string (generated) |
datarequired | object | None | The operation or event payload. | {
"order_id": "string",
"seller_id": 0,
"restock": true,
"lines": [
{
"sku_id": 0,
"external_ref": "string",
"quantity": 0
}
]
} (generated) |
data.order_idrequired | string | None | The Order this Refund covers: the reconcile key (STABLE). | string (generated) |
data.seller_idrequired | integer | None | Routing target: the Seller that owns the inbound API key (STABLE). | 0 (generated) |
data.restockrequired | boolean | None | The seller’s explicit declaration that the physical units came back and are sellable again, never inferred. `false` (lost mail, wrong card sent) moves no stock anywhere (STABLE). | true (generated) |
data.linesrequired | array of object | minimum items: 1 | Exactly the lines (and quantities) this Refund covers (STABLE). | [
{
"sku_id": 0,
"external_ref": "string",
"quantity": 0
}
] (generated) |
data.lines[].sku_idrequired | integer | None | Canonical TCGplayer sku id, the same id as the order line (STABLE). | 0 (generated) |
data.lines[].external_refrequired | string or null | None | Echo of the Seller's opaque listing ref; null if the Listing carried none (STABLE). | string (generated) |
data.lines[].quantityrequired | integer | None | The terminated quantity; may be less than the line’s ordered quantity (STABLE). | 0 (generated) |
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 (generated) |
Examples
{ "event_id": "string", "type": "order.refunded", "created_at": "string", "data": { "order_id": "string", "seller_id": 0, "restock": true, "lines": [ { "sku_id": 0, "external_ref": "string", "quantity": 0 } ] }, "api_version": "2026-07"}