API reference · Types
OrderCreatedEvent
Part of the payload of order.created.
Type: object
Example
{
"event_id": "evt_sandbox_01K4A90CFV7X8B2MD6J3H5Q1ZR",
"type": "order.created",
"created_at": "2026-09-04T18:42:18.000Z",
"data": {
"order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW",
"seller_id": 42,
"created_at": "2026-09-04T18:42:17.000Z",
"currency": "CAD",
"customer": {
"name": "Alex Morgan",
"email": "alex.morgan@example.test",
"shipping_address": {
"line1": "123 Sandbox Avenue",
"line2": "Unit 4",
"city": "Toronto",
"province": "ON",
"postal_code": "M5V 2T6",
"country": "CA"
}
},
"ship_to": {
"name": "Alex Morgan",
"shipping_address": {
"line1": "123 Sandbox Avenue",
"line2": "Unit 4",
"city": "Toronto",
"province": "ON",
"postal_code": "M5V 2T6",
"country": "CA"
}
},
"address_verification": {
"status": "pending",
"suggested_address": null
},
"lines": [
{
"line_ref": "oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241",
"sku_id": 14602,
"product_id": 86,
"quantity": 1,
"unit_price": 2499,
"name": "Abyssal Nightstalker",
"set": "Portal Second Age",
"condition": "NM",
"external_ref": "platform-listing-1042",
"collector_number": null,
"language": "English",
"finish": "Non-Foil"
}
],
"totals": {
"subtotal": 2499,
"shipping": 599,
"tax": 403,
"grand_total": 3501
},
"tax": {
"lines": [
{
"label": "HST",
"rate": 0.13,
"amount": 403
}
]
},
"shipping": {
"method": "Tracked parcel",
"cost": 599
},
"buyer_notes": "Please protect the card with a top loader."
},
"api_version": "2026-10"
}Fields
event_idstring requiredA globally unique event id that stays the same across retries. Use it to deduplicate deliveries (STABLE).
Example
evt_sandbox_01K4A90CFV7X8B2MD6J3H5Q1ZRtypestring requiredThe event type. Future order lifecycle events use the same envelope (STABLE).
Constraints: allowed values:
order.createdExampleorder.createdcreated_atstring requiredISO-8601 UTC instant the event was generated; unchanged across retries (STABLE).
Example
2026-09-04T18:42:18.000ZdataOrderrequiredCreated Data The operation or event payload.
Show child fieldsHide child fields
data.string requiredorder_id The Snapcaster order id. Use this stable id to reconcile events and poll results for the same seller 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.string requiredcreated_at ISO-8601 UTC instant the order was created (STABLE).
Example
2026-09-04T18:42:17.000Zdata.string requiredcurrency ISO 4217 currency code, e.g. CAD (STABLE).
Example
CADdata.customer OrderrequiredWebhook Customer The buyer details saved when the order was created.
Show child fieldsHide child fields
data.string requiredcustomer. name Example
Alex Morgandata.string requiredcustomer. email The contact email address.
Example
alex.morgan@example.testdata.customer. shipping_address OrderrequiredWebhook Shipping Address The shipping address saved when the order was created.
Show child fieldsHide child fields
data.string requiredcustomer. shipping_address. line1 The street address.
Example
123 Sandbox Avenuedata.string or null requiredcustomer. shipping_address. line2 The unit, suite, or second address line, if supplied.
Example
Unit 4data.string requiredcustomer. shipping_address. city The city in the shipping address.
Example
Torontodata.string requiredcustomer. shipping_address. province The Canadian province or territory in the delivery address.
Example
ONdata.string requiredcustomer. shipping_address. postal_code The Canadian postal code in the delivery address.
Example
M5V 2T6data.string requiredcustomer. shipping_address. country ISO 3166-1 alpha-2 country code.
Example
CA
data.ship_to OrderrequiredShip To Where the order ships: the newest seller address correction if one exists, otherwise the
customersnapshot. Always present. Print from this block, not fromcustomer. Onorder.createdit always equals the snapshot; a later correction reaches you throughGET /orders(the order reappears with a newupdated_at), never by changing that event’s bytes (STABLE).Show child fieldsHide child fields
data.string requiredship_to. name The recipient name to print on the label.
Example
Alex Morgandata.ship_to. shipping_address Orderor null requiredWebhook Shipping Address The six-field §6.1 address to print on the label.
nullonly for an order minted without a shipping address (an operator-seeded or legacy row), which checkout never produces.Show child fieldsHide child fields
data.string requiredship_to. shipping_address. line1 The street address.
Example
123 Sandbox Avenuedata.string or null requiredship_to. shipping_address. line2 The unit, suite, or second address line, if supplied.
Example
Unit 4data.string requiredship_to. shipping_address. city The city in the shipping address.
Example
Torontodata.string requiredship_to. shipping_address. province The Canadian province or territory in the delivery address.
Example
ONdata.string requiredship_to. shipping_address. postal_code The Canadian postal code in the delivery address.
Example
M5V 2T6data.string requiredship_to. shipping_address. country ISO 3166-1 alpha-2 country code.
Example
CA
data.address_verification OrderrequiredAddress Verification The post-order address verification verdict on the
customersnapshot, and the suggested address when one differs from it. Always present;pendinguntil a verdict lands. Onorder.createdit is alwayspending: the check runs after the order is placed, and a retried event stays byte-identical. A landed verdict reaches you throughGET /orders(the order reappears with a newupdated_at) (STABLE).Show child fieldsHide child fields
data.string requiredaddress_verification. status The verification status of the
customershipping address.pendinguntil a verdict lands (a fresh order always readspending);verified/verified_unitmean deliverable;missing_unit/unit_unconfirmed/not_foundare address problems worth a look before shipping;failedmeans the check itself could not run and says nothing about the address. Closed vocabulary, extended additively (STABLE).Constraints: allowed values:
pending,verified,verified_unit,missing_unit,unit_unconfirmed,not_found,failedExamplependingdata.address_verification. suggested_address Orderor null requiredWebhook Shipping Address The standardized address the verification suggests, present only when a verdict landed with a suggestion that differs from the
customersnapshot;nullotherwise. Advisory: the seller decides where to ship, and that decision isship_to(STABLE).Show child fieldsHide child fields
data.string requiredaddress_verification. suggested_address. line1 The street address.
data.string or null requiredaddress_verification. suggested_address. line2 The unit, suite, or second address line, if supplied.
data.string requiredaddress_verification. suggested_address. city The city in the shipping address.
data.string requiredaddress_verification. suggested_address. province The Canadian province or territory in the delivery address.
data.string requiredaddress_verification. suggested_address. postal_code The Canadian postal code in the delivery address.
data.string requiredaddress_verification. suggested_address. country ISO 3166-1 alpha-2 country code.
data.lines OrderrequiredWebhook Line[] One or more line snapshots (STABLE).
Constraints: minimum items: 1
Show child fieldsHide child fields
data.string requiredlines[]. line_ref The purchase-line reference, for example
oln_1f0c…. It identifies WHICH PURCHASE this line is, wheresku_ididentifies which card. One order can hold two lines of the samesku_idbought at different times and prices, so key your fulfillment records on this field. It is also what you send back inlines[].lineRefwhen you cancel or refund a line.Example
oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241data.integer requiredlines[]. sku_id Canonical TCGplayer SKU id (STABLE).
Example
14602data.integer requiredlines[]. product_id Canonical TCGplayer product id (STABLE).
Example
86data.integer requiredlines[]. quantity The number of units.
Example
1data.integer requiredlines[]. unit_price Integer minor units (cents) in the order currency (STABLE).
Example
2499data.string or null requiredlines[]. name Descriptive snapshot, frozen at order time (STABLE).
Example
Abyssal Nightstalkerdata.string or null requiredlines[]. set The card set or expansion.
Example
Portal Second Agedata.string or null requiredlines[]. condition The normalized condition assigned to the card.
Example
NMdata.string or null requiredlines[]. external_ref The seller's listing reference, returned unchanged; null if none was supplied (STABLE).
Example
platform-listing-1042data.string or null requiredlines[]. collector_number The card's catalog collector number, saved when the order was created, for example
161/302. Null if the catalog had no number or the order predates this field. An additive field on the STABLE line.Example
nulldata.string or nulllines[]. language The language of the card printing.
Example
Englishdata.string or nulllines[]. finish The physical finish or foil treatment of the card.
Example
Non-Foildata.objectlines[]. disclosures Provenance, grading, and authenticity statements shown to the buyer.
Show child fieldsHide child fields
data.string requiredlines[]. disclosures. image_source Who supplied the product image shown to the buyer.
Constraints: allowed values:
catalogdata.string requiredlines[]. disclosures. condition_source Who assigned the displayed card condition.
Constraints: allowed values:
seller_declareddata.string requiredlines[]. disclosures. authenticity_source Who supplied the authenticity determination.
Constraints: allowed values:
seller_attestationdata.boolean requiredlines[]. disclosures. snapcaster_inspected Whether Snapcaster physically inspected the card.
Constraints: allowed values:
falsedata.boolean requiredlines[]. disclosures. snapcaster_graded Whether Snapcaster assigned the displayed grade.
Constraints: allowed values:
falsedata.boolean requiredlines[]. disclosures. snapcaster_authenticated Whether Snapcaster authenticated the card.
Constraints: allowed values:
falsedata.string requiredlines[]. disclosures. grading_standard The grading standard used for the declared grade.
data.string or null requiredlines[]. disclosures. declared_grade The grade declared for the card under the named standard.
data.string requiredlines[]. disclosures. buyer_protection The buyer-protection coverage attached to this offering.
data.objectlines[]. fulfillment_obligation The exact item characteristics the seller must fulfill.
Show child fieldsHide child fields
data.string requiredlines[]. fulfillment_obligation. sku The SKU that identifies the card variant.
Constraints: allowed values:
exactdata.string requiredlines[]. fulfillment_obligation. printing The card printing the seller must supply.
Constraints: allowed values:
exactdata.string requiredlines[]. fulfillment_obligation. language The language of the card printing.
Constraints: allowed values:
exactdata.string requiredlines[]. fulfillment_obligation. finish The physical finish or foil treatment of the card.
Constraints: allowed values:
exactdata.string requiredlines[]. fulfillment_obligation. condition The normalized condition assigned to the card.
Constraints: allowed values:
declared-or-better
data.objecttotals Order totals in integer cents in the order currency. When present, includes all four values:
subtotal,shipping,tax, andgrand_total, wheregrand_total = subtotal + shipping + tax(STABLE).Show child fieldsHide child fields
data.integer requiredtotals. subtotal The line-item total before shipping and tax, in minor currency units.
Example
2499data.integer requiredtotals. shipping The shipping charge or delivery details for the order.
Example
599data.integer requiredtotals. tax The tax total or breakdown applied to the order.
Example
403data.integer requiredtotals. grand_total The complete order total including shipping and tax, in minor currency units.
Example
3501
data.objecttax One
{label, rate, amount}line per applied tax. This block is absent if and only iftotals.taxis zero (STABLE).Show child fieldsHide child fields
data.array of object requiredtax. lines The line items in this request, response, or event.
Show child fieldsHide child fields
data.string requiredtax. lines[]. label Example
HSTdata.number requiredtax. lines[]. rate The decimal tax rate applied to the taxable amount.
Example
0.13data.integer requiredtax. lines[]. amount The monetary amount in minor currency units.
Example
403
data.objectshipping The selected shipping option.
methodis free text, andcostis integer cents matchingtotals.shipping(STABLE).Show child fieldsHide child fields
data.string requiredshipping. method Example
Tracked parceldata.integer requiredshipping. cost The shipping cost in minor currency units.
Example
599
data.stringbuyer_notes Optional free-text buyer note; absent when the buyer left none (STABLE).
Example
Please protect the card with a top loader.data.stringstatus The current order status. This field is absent until the first status change; absence means
created. Anorder.createddelivery never includes it (STABLE).Constraints: allowed values:
accepted,shipped,delivered,cancelled,refundeddata.fulfillment OrderFulfillment Tracking details, present once tracking has been added during fulfillment (STABLE).
Show child fieldsHide child fields
data.string requiredfulfillment. tracking_company Carrier/company name, as the fulfiller entered it (STABLE).
data.string requiredfulfillment. tracking_number Carrier tracking number (STABLE).
data.string or null requiredfulfillment. tracking_url Tracking link; null if the fulfiller supplied none (STABLE).
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
Used by
order.created- Order created (payload)