Part of the payload of order.created.

Type: object

Example

Schema example: from the order.created payload
{
  "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."
}

Fields

order_id string required

The Snapcaster order id. Use this stable id to reconcile events and poll results for the same seller order (STABLE).

Example ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW

seller_id integer required

The seller that owns the API key. Use this id to route the event to the right store (STABLE).

Example 42

created_at string required

ISO-8601 UTC instant the order was created (STABLE).

Example 2026-09-04T18:42:17.000Z

currency string required

ISO 4217 currency code, e.g. CAD (STABLE).

Example CAD

customer OrderWebhookCustomer required

The buyer details saved when the order was created.

Show child fieldsHide child fields
customer.name string required

Example Alex Morgan

customer.email string required

The contact email address.

Example alex.morgan@example.test

customer.shipping_address OrderWebhookShippingAddress required

The shipping address saved when the order was created.

Show child fieldsHide child fields
customer.shipping_address.line1 string required

The street address.

Example 123 Sandbox Avenue

customer.shipping_address.line2 string or null required

The unit, suite, or second address line, if supplied.

Example Unit 4

customer.shipping_address.city string required

The city in the shipping address.

Example Toronto

customer.shipping_address.province string required

The Canadian province or territory in the delivery address.

Example ON

customer.shipping_address.postal_code string required

The Canadian postal code in the delivery address.

Example M5V 2T6

customer.shipping_address.country string required

ISO 3166-1 alpha-2 country code.

Example CA

ship_to OrderShipTo required

Where the order ships: the newest seller address correction if one exists, otherwise the customer snapshot. Always present. Print from this block, not from customer. On order.created it always equals the snapshot; a later correction reaches you through GET /orders (the order reappears with a new updated_at), never by changing that event’s bytes (STABLE).

Show child fieldsHide child fields
ship_to.name string required

The recipient name to print on the label.

Example Alex Morgan

ship_to.shipping_address OrderWebhookShippingAddress or null required

The six-field §6.1 address to print on the label. null only for an order minted without a shipping address (an operator-seeded or legacy row), which checkout never produces.

Show child fieldsHide child fields
ship_to.shipping_address.line1 string required

The street address.

Example 123 Sandbox Avenue

ship_to.shipping_address.line2 string or null required

The unit, suite, or second address line, if supplied.

Example Unit 4

ship_to.shipping_address.city string required

The city in the shipping address.

Example Toronto

ship_to.shipping_address.province string required

The Canadian province or territory in the delivery address.

Example ON

ship_to.shipping_address.postal_code string required

The Canadian postal code in the delivery address.

Example M5V 2T6

ship_to.shipping_address.country string required

ISO 3166-1 alpha-2 country code.

Example CA

address_verification OrderAddressVerification required

The post-order address verification verdict on the customer snapshot, and the suggested address when one differs from it. Always present; pending until a verdict lands. On order.created it is always pending: the check runs after the order is placed, and a retried event stays byte-identical. A landed verdict reaches you through GET /orders (the order reappears with a new updated_at) (STABLE).

Show child fieldsHide child fields
address_verification.status string required

The verification status of the customer shipping address. pending until a verdict lands (a fresh order always reads pending); verified / verified_unit mean deliverable; missing_unit / unit_unconfirmed / not_found are address problems worth a look before shipping; failed means 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, failed Example pending

address_verification.suggested_address OrderWebhookShippingAddress or null required

The standardized address the verification suggests, present only when a verdict landed with a suggestion that differs from the customer snapshot; null otherwise. Advisory: the seller decides where to ship, and that decision is ship_to (STABLE).

Show child fieldsHide child fields
address_verification.suggested_address.line1 string required

The street address.

address_verification.suggested_address.line2 string or null required

The unit, suite, or second address line, if supplied.

address_verification.suggested_address.city string required

The city in the shipping address.

address_verification.suggested_address.province string required

The Canadian province or territory in the delivery address.

address_verification.suggested_address.postal_code string required

The Canadian postal code in the delivery address.

address_verification.suggested_address.country string required

ISO 3166-1 alpha-2 country code.

lines OrderWebhookLine[] required

One or more line snapshots (STABLE).

Constraints: minimum items: 1

Show child fieldsHide child fields
lines[].line_ref string required

The purchase-line reference, for example oln_1f0c…. It identifies WHICH PURCHASE this line is, where sku_id identifies which card. One order can hold two lines of the same sku_id bought at different times and prices, so key your fulfillment records on this field. It is also what you send back in lines[].lineRef when you cancel or refund a line.

Example oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241

lines[].sku_id integer required

Canonical TCGplayer SKU id (STABLE).

Example 14602

lines[].product_id integer required

Canonical TCGplayer product id (STABLE).

Example 86

lines[].quantity integer required

The number of units.

Example 1

lines[].unit_price integer required

Integer minor units (cents) in the order currency (STABLE).

Example 2499

lines[].name string or null required

Descriptive snapshot, frozen at order time (STABLE).

Example Abyssal Nightstalker

lines[].set string or null required

The card set or expansion.

Example Portal Second Age

lines[].condition string or null required

The normalized condition assigned to the card.

Example NM

lines[].external_ref string or null required

The seller's listing reference, returned unchanged; null if none was supplied (STABLE).

Example platform-listing-1042

lines[].collector_number string or null required

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 null

lines[].language string or null

The language of the card printing.

Example English

lines[].finish string or null

The physical finish or foil treatment of the card.

Example Non-Foil

lines[].disclosures object

Provenance, grading, and authenticity statements shown to the buyer.

Show child fieldsHide child fields
lines[].disclosures.image_source string required

Who supplied the product image shown to the buyer.

Constraints: allowed values: catalog

lines[].disclosures.condition_source string required

Who assigned the displayed card condition.

Constraints: allowed values: seller_declared

lines[].disclosures.authenticity_source string required

Who supplied the authenticity determination.

Constraints: allowed values: seller_attestation

lines[].disclosures.snapcaster_inspected boolean required

Whether Snapcaster physically inspected the card.

Constraints: allowed values: false

lines[].disclosures.snapcaster_graded boolean required

Whether Snapcaster assigned the displayed grade.

Constraints: allowed values: false

lines[].disclosures.snapcaster_authenticated boolean required

Whether Snapcaster authenticated the card.

Constraints: allowed values: false

lines[].disclosures.grading_standard string required

The grading standard used for the declared grade.

lines[].disclosures.declared_grade string or null required

The grade declared for the card under the named standard.

lines[].disclosures.buyer_protection string required

The buyer-protection coverage attached to this offering.

lines[].fulfillment_obligation object

The exact item characteristics the seller must fulfill.

Show child fieldsHide child fields
lines[].fulfillment_obligation.sku string required

The SKU that identifies the card variant.

Constraints: allowed values: exact

lines[].fulfillment_obligation.printing string required

The card printing the seller must supply.

Constraints: allowed values: exact

lines[].fulfillment_obligation.language string required

The language of the card printing.

Constraints: allowed values: exact

lines[].fulfillment_obligation.finish string required

The physical finish or foil treatment of the card.

Constraints: allowed values: exact

lines[].fulfillment_obligation.condition string required

The normalized condition assigned to the card.

Constraints: allowed values: declared-or-better

totals object

Order totals in integer cents in the order currency. When present, includes all four values: subtotal, shipping, tax, and grand_total, where grand_total = subtotal + shipping + tax (STABLE).

Show child fieldsHide child fields
totals.subtotal integer required

The line-item total before shipping and tax, in minor currency units.

Example 2499

totals.shipping integer required

The shipping charge or delivery details for the order.

Example 599

totals.tax integer required

The tax total or breakdown applied to the order.

Example 403

totals.grand_total integer required

The complete order total including shipping and tax, in minor currency units.

Example 3501

tax object

One {label, rate, amount} line per applied tax. This block is absent if and only if totals.tax is zero (STABLE).

Show child fieldsHide child fields
tax.lines array of object required

The line items in this request, response, or event.

Show child fieldsHide child fields
tax.lines[].label string required

Example HST

tax.lines[].rate number required

The decimal tax rate applied to the taxable amount.

Example 0.13

tax.lines[].amount integer required

The monetary amount in minor currency units.

Example 403

shipping object

The selected shipping option. method is free text, and cost is integer cents matching totals.shipping (STABLE).

Show child fieldsHide child fields
shipping.method string required

Example Tracked parcel

shipping.cost integer required

The shipping cost in minor currency units.

Example 599

buyer_notes string

Optional free-text buyer note; absent when the buyer left none (STABLE).

Example Please protect the card with a top loader.

status string

The current order status. This field is absent until the first status change; absence means created. An order.created delivery never includes it (STABLE).

Constraints: allowed values: accepted, shipped, delivered, cancelled, refunded

fulfillment OrderFulfillment

Tracking details, present once tracking has been added during fulfillment (STABLE).

Show child fieldsHide child fields
fulfillment.tracking_company string required

Carrier/company name, as the fulfiller entered it (STABLE).

fulfillment.tracking_number string required

Carrier tracking number (STABLE).

fulfillment.tracking_url string or null required

Tracking link; null if the fulfiller supplied none (STABLE).

Used by