API reference · Types
PartnerOrderData
Part of the response of 7 operations and the payload of order.updated.
Type: object
Example
{
"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",
"cancelled_quantity": 0,
"refunded_quantity": 0,
"substitution_credit_cents": 0,
"substitution": null,
"reported_line_ref": null
}
],
"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,
"is_tracked": true
},
"buyer_notes": "Please protect the card with a top loader.",
"status": "created",
"updated_at": "2026-09-04T18:42:17.000Z",
"dispatch": {
"deadline_at": "2026-09-08T23:59:59.000Z",
"dispatched_at": null,
"overdue_at": null,
"payout_paused": false
},
"cancellations": [],
"refunds": [],
"substitutions": [],
"pending_cancellation_requests": []
}Fields
order_idstring requiredThe Snapcaster order id. Use this stable id to reconcile events and poll results for the same seller order (STABLE).
Example
ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VWseller_idinteger requiredThe seller that owns the API key. Use this id to route the event to the right store (STABLE).
Example
42created_atstring requiredISO-8601 UTC instant the order was created (STABLE).
Example
2026-09-04T18:42:17.000Zcurrencystring requiredISO 4217 currency code, e.g. CAD (STABLE).
Example
CADcustomerOrderrequiredWebhook Customer The buyer details saved when the order was created.
Show child fieldsHide child fields
customer.string requiredname Example
Alex Morgancustomer.string requiredemail The contact email address.
Example
alex.morgan@example.testcustomer.shipping_address OrderrequiredWebhook Shipping Address The shipping address saved when the order was created.
Show child fieldsHide child fields
customer.string requiredshipping_address. line1 The street address.
Example
123 Sandbox Avenuecustomer.string or null requiredshipping_address. line2 The unit, suite, or second address line, if supplied.
Example
Unit 4customer.string requiredshipping_address. city The city in the shipping address.
Example
Torontocustomer.string requiredshipping_address. province The Canadian province or territory in the delivery address.
Example
ONcustomer.string requiredshipping_address. postal_code The Canadian postal code in the delivery address.
Example
M5V 2T6customer.string requiredshipping_address. country ISO 3166-1 alpha-2 country code.
Example
CA
ship_toOrderrequiredShip 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
ship_to.string requiredname The recipient name to print on the label.
Example
Alex Morganship_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
ship_to.string requiredshipping_address. line1 The street address.
Example
123 Sandbox Avenueship_to.string or null requiredshipping_address. line2 The unit, suite, or second address line, if supplied.
Example
Unit 4ship_to.string requiredshipping_address. city The city in the shipping address.
Example
Torontoship_to.string requiredshipping_address. province The Canadian province or territory in the delivery address.
Example
ONship_to.string requiredshipping_address. postal_code The Canadian postal code in the delivery address.
Example
M5V 2T6ship_to.string requiredshipping_address. country ISO 3166-1 alpha-2 country code.
Example
CA
address_verificationOrderrequiredAddress 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
address_verification.string requiredstatus 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,failedExamplependingaddress_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
address_verification.string requiredsuggested_address. line1 The street address.
address_verification.string or null requiredsuggested_address. line2 The unit, suite, or second address line, if supplied.
address_verification.string requiredsuggested_address. city The city in the shipping address.
address_verification.string requiredsuggested_address. province The Canadian province or territory in the delivery address.
address_verification.string requiredsuggested_address. postal_code The Canadian postal code in the delivery address.
address_verification.string requiredsuggested_address. country ISO 3166-1 alpha-2 country code.
linesarray of object requiredThe line items in this request, response, or event.
Show child fieldsHide child fields
lines[].string requiredline_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_1f0c8a4d7e2b45c9a1d6f3b8e07c9241lines[].integer requiredsku_id Canonical TCGplayer SKU id (STABLE).
Example
14602lines[].integer requiredproduct_id Canonical TCGplayer product id (STABLE).
Example
86lines[].integer requiredquantity The number of units.
Example
1lines[].integer requiredunit_price Integer minor units (cents) in the order currency (STABLE).
Example
2499lines[].string or null requiredname Descriptive snapshot, frozen at order time (STABLE).
Example
Abyssal Nightstalkerlines[].string or null requiredset The card set or expansion.
Example
Portal Second Agelines[].string or null requiredcondition The normalized condition assigned to the card.
Example
NMlines[].string or null requiredexternal_ref The seller's listing reference, returned unchanged; null if none was supplied (STABLE).
Example
platform-listing-1042lines[].string or null requiredcollector_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
nulllines[].string or nulllanguage The language of the card printing.
Example
Englishlines[].string or nullfinish The physical finish or foil treatment of the card.
Example
Non-Foillines[].objectdisclosures Provenance, grading, and authenticity statements shown to the buyer.
Show child fieldsHide child fields
lines[].string requireddisclosures. image_source Who supplied the product image shown to the buyer.
Constraints: allowed values:
cataloglines[].string requireddisclosures. condition_source Who assigned the displayed card condition.
Constraints: allowed values:
seller_declaredlines[].string requireddisclosures. authenticity_source Who supplied the authenticity determination.
Constraints: allowed values:
seller_attestationlines[].boolean requireddisclosures. snapcaster_inspected Whether Snapcaster physically inspected the card.
Constraints: allowed values:
falselines[].boolean requireddisclosures. snapcaster_graded Whether Snapcaster assigned the displayed grade.
Constraints: allowed values:
falselines[].boolean requireddisclosures. snapcaster_authenticated Whether Snapcaster authenticated the card.
Constraints: allowed values:
falselines[].string requireddisclosures. grading_standard The grading standard used for the declared grade.
lines[].string or null requireddisclosures. declared_grade The grade declared for the card under the named standard.
lines[].string requireddisclosures. buyer_protection The buyer-protection coverage attached to this offering.
lines[].objectfulfillment_obligation The exact item characteristics the seller must fulfill.
Show child fieldsHide child fields
lines[].string requiredfulfillment_obligation. sku The SKU that identifies the card variant.
Constraints: allowed values:
exactlines[].string requiredfulfillment_obligation. printing The card printing the seller must supply.
Constraints: allowed values:
exactlines[].string requiredfulfillment_obligation. language The language of the card printing.
Constraints: allowed values:
exactlines[].string requiredfulfillment_obligation. finish The physical finish or foil treatment of the card.
Constraints: allowed values:
exactlines[].string requiredfulfillment_obligation. condition The normalized condition assigned to the card.
Constraints: allowed values:
declared-or-better
lines[].integer requiredcancelled_quantity Constraints: minimum: 0 Example
0lines[].integer requiredrefunded_quantity Constraints: minimum: 0 Example
0lines[].integer requiredsubstitution_credit_cents The credit per unit every accepted substitution of this line returned to the buyer, summed.
unit_pricenever changes, so the line is worthunit_price - substitution_credit_centsper unit. 0 on a line never substituted.Constraints: minimum: 0 Example
0lines[].object or null requiredsubstitution Present once a substitution has rewritten this line:
sku_idand the card details now name the card that ships. Null on a line that ships as sold.Show child fieldsHide child fields
lines[].integer requiredsubstitution. request_id The fulfillment report that last rewrote this line.
lines[].object or null requiredsubstitution. original The card the line carried before that report rewrote it, as the report recorded it. A fact the report did not record is null.
Show child fieldsHide child fields
lines[].integer requiredsubstitution. original. sku_id See Canonical catalog in Core concepts.
lines[].integer or null requiredsubstitution. original. product_id See Canonical catalog in Core concepts.
lines[].string or null requiredsubstitution. original. name lines[].string or null requiredsubstitution. original. set The card set or expansion.
lines[].string or null requiredsubstitution. original. condition The normalized condition assigned to the card.
lines[].string or null requiredsubstitution. original. language The language of the card printing.
lines[].string or null requiredsubstitution. original. finish The physical finish or foil treatment of the card.
lines[].string or null requiredsubstitution. original. rarity The rarity assigned to the card printing.
lines[].string or null requiredsubstitution. original. collector_number
lines[].string or null requiredreported_line_ref The
line_refof the line a substitution split this line from. Always null today: substitutions replace whole lines.Example
null
totalsobjectOrder 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
totals.integer requiredsubtotal The line-item total before shipping and tax, in minor currency units.
Example
2499totals.integer requiredshipping The shipping charge or delivery details for the order.
Example
599totals.integer requiredtax The tax total or breakdown applied to the order.
Example
403totals.integer requiredgrand_total The complete order total including shipping and tax, in minor currency units.
Example
3501
taxobjectOne
{label, rate, amount}line per applied tax. This block is absent if and only iftotals.taxis zero (STABLE).Show child fieldsHide child fields
tax.array of object requiredlines The line items in this request, response, or event.
Show child fieldsHide child fields
tax.string requiredlines[]. label Example
HSTtax.number requiredlines[]. rate The decimal tax rate applied to the taxable amount.
Example
0.13tax.integer requiredlines[]. amount The monetary amount in minor currency units.
Example
403
shippingobjectThe shipping charge or delivery details for the order.
Show child fieldsHide child fields
shipping.string requiredmethod Example
Tracked parcelshipping.integer requiredcost The shipping cost in minor currency units.
Example
599shipping.boolean or null requiredis_tracked Example
true
buyer_notesstringOptional free-text buyer note; absent when the buyer left none (STABLE).
Example
Please protect the card with a top loader.statusstring requiredConstraints: allowed values:
created,accepted,shipped,delivered,cancelled,refundedExamplecreatedfulfillmentOrderFulfillment Tracking details, present once tracking has been added during fulfillment (STABLE).
Show child fieldsHide child fields
fulfillment.string requiredtracking_company Carrier/company name, as the fulfiller entered it (STABLE).
fulfillment.string requiredtracking_number Carrier tracking number (STABLE).
fulfillment.string or null requiredtracking_url Tracking link; null if the fulfiller supplied none (STABLE).
updated_atstring requiredConstraints: format: date-time Example
2026-09-04T18:42:17.000Zdispatchobject requiredShow child fieldsHide child fields
dispatch.string or null requireddeadline_at The ship-by deadline: the end of the third Toronto business day after the order was placed, fixed when the order is created. Null on an order Snapcaster created without one (STABLE).
Constraints: format: date-time Example
2026-09-08T23:59:59.000Zdispatch.string or null requireddispatched_at Constraints: format: date-time Example
nulldispatch.string or null requiredoverdue_at When Snapcaster marked the order overdue because it had not shipped by
deadline_at, which also sendsorder.dispatch_overdue. Null until then (STABLE).Constraints: format: date-time Example
nulldispatch.boolean requiredpayout_paused True while the seller payout for this order is paused. An overdue dispatch pauses it, and so can a Snapcaster review of the order; shipping does not lift it, only Snapcaster releasing the payout does (STABLE).
Example
false
cancellationsarray of object requiredShow child fieldsHide child fields
cancellations[].string requiredid cancellations[].string requiredcreated_at Constraints: format: date-time
cancellations[].array of object requiredlines The line items in this request, response, or event.
Show child fieldsHide child fields
cancellations[].string or null requiredlines[]. line_ref The purchase-line reference of the line this cancellation or refund terminated, the same
line_refthe order line and the matchingorder.cancelledororder.refundedline carry. Reconcile on this field: an order can hold two lines of onesku_id. Null only on a cancellation recorded before Snapcaster kept an order event log, when itssku_idnames more than one line on the order or a substitution has rewritten a line on the order.cancellations[].integer requiredlines[]. sku_id See Canonical catalog in Core concepts.
cancellations[].integer requiredlines[]. quantity The number of units.
Constraints: exclusive minimum: 0
cancellations[].object or null requiredpayment_refund Show child fieldsHide child fields
cancellations[].integer requiredpayment_refund. amount The monetary amount in minor currency units.
cancellations[].string requiredpayment_refund. currency The ISO 4217 currency code used for monetary amounts.
cancellations[].string requiredpayment_refund. status failedif any payment the refund came back on refused it,succeededonce every one settled, otherwisepending. It can change in either direction, after a bank return or a retry; each change sendsorder.updatedwithreason: payment_refund_updated.Constraints: allowed values:
pending,succeeded,failed
refundsarray of object requiredShow child fieldsHide child fields
refunds[].string requiredid refunds[].string requiredcreated_at Constraints: format: date-time
refunds[].array of object requiredlines The line items in this request, response, or event.
Show child fieldsHide child fields
refunds[].string or null requiredlines[]. line_ref The purchase-line reference of the line this cancellation or refund terminated, the same
line_refthe order line and the matchingorder.cancelledororder.refundedline carry. Reconcile on this field: an order can hold two lines of onesku_id. Null only on a cancellation recorded before Snapcaster kept an order event log, when itssku_idnames more than one line on the order or a substitution has rewritten a line on the order.refunds[].integer requiredlines[]. sku_id See Canonical catalog in Core concepts.
refunds[].integer requiredlines[]. quantity The number of units.
Constraints: exclusive minimum: 0
refunds[].object or null requiredpayment_refund Show child fieldsHide child fields
refunds[].integer requiredpayment_refund. amount The monetary amount in minor currency units.
refunds[].string requiredpayment_refund. currency The ISO 4217 currency code used for monetary amounts.
refunds[].string requiredpayment_refund. status failedif any payment the refund came back on refused it,succeededonce every one settled, otherwisepending. It can change in either direction, after a bank return or a retry; each change sendsorder.updatedwithreason: payment_refund_updated.Constraints: allowed values:
pending,succeeded,failed
refunds[].boolean requiredrestock Whether fulfilled units return to on-hand inventory.
substitutionsarray of object requiredEvery accepted fulfillment report that substituted at least one line, oldest first. A report that only removed lines is a cancellation and appears in
cancellations. Empty when there is none.Show child fieldsHide child fields
substitutions[].string requiredid The substitution id, also the
adjustmentIdSnapcaster stamps on the payment refund it issued.substitutions[].integer requiredrequest_id The fulfillment report the buyer accepted.
substitutions[].string requiredcreated_at When the buyer accepted the report.
Constraints: format: date-time
substitutions[].array of object requiredlines The line items in this request, response, or event.
Show child fieldsHide child fields
substitutions[].string or null requiredlines[]. line_ref The purchase-line reference the report named. Null only when no retained record names the purchase.
substitutions[].integer requiredlines[]. original_sku_id The SKU the line carried when the seller filed the report.
substitutions[].integer requiredlines[]. quantity The number of units.
Constraints: exclusive minimum: 0
substitutions[].string requiredlines[]. action How to resolve this issue.
Constraints: allowed values:
remove,substitutesubstitutions[].integer or null requiredlines[]. substitute_sku_id The SKU that ships instead. Null on a removal.
substitutions[].integer or null requiredlines[]. credit_cents The credit per unit this substitution returned to the buyer. Null on a removal, which returns what the units were worth.
Constraints: minimum: 0
substitutions[].object or null requiredpayment_refund The money the substitution returned to the buyer, across every payment it came back on: every credit plus any removed units, with their share of the purchase fee and tax. Null when it moved no money.
Show child fieldsHide child fields
substitutions[].integer requiredpayment_refund. amount The monetary amount in minor currency units.
substitutions[].string requiredpayment_refund. currency The ISO 4217 currency code used for monetary amounts.
substitutions[].string requiredpayment_refund. status failedif any payment the refund came back on refused it,succeededonce every one settled, otherwisepending. It can change in either direction, after a bank return or a retry; each change sendsorder.updatedwithreason: payment_refund_updated.Constraints: allowed values:
pending,succeeded,failed
pending_cancellation_requestsarray of object requiredShow child fieldsHide child fields
pending_cancellation_requests[].string requiredid pending_cancellation_requests[].string requiredcreated_at Constraints: format: date-time
pending_cancellation_requests[].string or null requiredreason pending_cancellation_requests[].array of object or null requiredlines The line items in this request, response, or event.
Show child fieldsHide child fields
pending_cancellation_requests[].string requiredlines[]. line_ref pending_cancellation_requests[].integer requiredlines[]. sku_id See Canonical catalog in Core concepts.
pending_cancellation_requests[].integerlines[]. quantity The number of units.
Constraints: exclusive minimum: 0
Used by
GET /orders- Poll orders (response)GET /orders/{orderId}- Get one order (response)PATCH /orders/{orderId}/fulfillment- Update fulfillment (response)POST /orders/{orderId}/cancel- Cancel an order (response)POST /orders/{orderId}/refunds- Create a refund (response)POST /orders/{orderId}/corrections- Correct the ship-to address (response)POST /orders/{orderId}/address-verification/retry- Retry address verification (response)order.updated- Order updated (payload)