Cancel an order
POST
/orders/{orderId}/cancelThe pre-ship termination command: legal from `created` or `accepted` only. `lines` is the optional subset to cancel (each sku at most once); omitted cancels the whole Order. A Cancellation always restocks on the Snapcaster side and emits an `order.cancelled` webhook (or the compensating positive `inventory.adjusted`, per the Platform’s Subscription), including back to the caller. Returns the post-cancel Order.
When to use
Use this operation to cancel an order.
Endpoint
POST /orders/{orderId}/cancel
| Environment | Base URL |
|---|---|
| Sandbox | https://api-sandbox.snapcaster.ca/api/v1/marketplace |
| Production | https://api.snapcaster.ca/api/v1/marketplace |
marketplaceApiKey-http bearer. Seller-scoped Marketplace API key, presented as `Authorization: Bearer mp_{sellerCode}_{hex}`. The `mp_{sellerCode}_` prefix identifies the Seller; the trailing hex is the secret. Generated by the Seller and pasted into its Platform.
Request
| Field | In | Type | Constraints | Meaning | Example |
|---|---|---|---|---|---|
orderIdrequired | path | string | minimum length: 1 | The opaque public Order id (the webhook/poll `order_id`). | ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW |
Request body (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
lines | array of object | minimum items: 1 | The individual records carried by this request, response, or event. | [
{
"skuId": 1
}
] (generated) |
lines[].skuIdrequired | integer | exclusive minimum: 0 | Sku Id for the surrounding lines item record. | 1 (generated) |
lines[].quantity | integer | exclusive minimum: 0 | The number of inventory units represented by this record. | 1 (generated) |
Example
Sandbox is the default. These requests use the contract's canonical field examples.
curl --request POST \ --url 'https://api-sandbox.snapcaster.ca/api/v1/marketplace/orders/ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW/cancel' \ --header "Authorization: Bearer $MARKETPLACE_API_KEY" \ --header 'Content-Type: application/json' \ --data '{}'Response
200
The post-cancel Order, as the shared order body.
{ "success": true, "data": { "order_id": "string", "seller_id": 0, "created_at": "string", "currency": "string", "customer": { "name": "string", "email": "string", "shipping_address": { "line1": "string", "line2": "string", "city": "string", "province": "string", "postal_code": "string", "country": "string" } }, "lines": [ { "sku_id": 0, "product_id": 0, "quantity": 0, "unit_price": 0, "name": "string", "set": "string", "condition": "string", "external_ref": "string" } ] }}| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: true | Whether the operation completed as requested. | true (generated) |
datarequired | object | None | The operation or event payload. | {
"order_id": "string",
"seller_id": 0,
"created_at": "string",
"currency": "string",
"customer": {
"name": "string",
"email": "string",
"shipping_address": {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
}
},
"lines": [
{
"sku_id": 0,
"product_id": 0,
"quantity": 0,
"unit_price": 0,
"name": "string",
"set": "string",
"condition": "string",
"external_ref": "string"
}
]
} (generated) |
data.order_idrequired | string | None | Snapcaster order id; stable per Seller-order, 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.created_atrequired | string | None | ISO-8601 UTC instant the order was created (STABLE). | string (generated) |
data.currencyrequired | string | None | ISO 4217 currency code, e.g. CAD (STABLE). | string (generated) |
data.customerrequired | object | None | The buyer identity and delivery snapshot frozen for the Order. | {
"name": "string",
"email": "string",
"shipping_address": {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
}
} (generated) |
data.customer.namerequired | string | None | The human-readable name of the resource. | string (generated) |
data.customer.emailrequired | string | None | The contact email for the person represented by this record. | string (generated) |
data.customer.shipping_addressrequired | object | None | The delivery address snapshot frozen for the Order. | {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
} (generated) |
data.customer.shipping_address.line1required | string | None | The primary street-address line. | string (generated) |
data.customer.shipping_address.line2required | string or null | None | The optional unit, suite, or secondary address line. | string (generated) |
data.customer.shipping_address.cityrequired | string | None | The municipality in the delivery address. | string (generated) |
data.customer.shipping_address.provincerequired | string | None | The Canadian province or territory in the delivery address. | string (generated) |
data.customer.shipping_address.postal_coderequired | string | None | The Canadian postal code in the delivery address. | string (generated) |
data.customer.shipping_address.countryrequired | string | None | ISO 3166-1 alpha-2 country code. | string (generated) |
data.linesrequired | array of object | minimum items: 1 | One or more line snapshots (STABLE). | [
{
"sku_id": 0,
"product_id": 0,
"quantity": 0,
"unit_price": 0,
"name": "string",
"set": "string",
"condition": "string",
"external_ref": "string"
}
] (generated) |
data.lines[].sku_idrequired | integer | None | Canonical TCGplayer sku id (STABLE). | 0 (generated) |
data.lines[].product_idrequired | integer | None | Canonical TCGplayer product id (STABLE). | 0 (generated) |
data.lines[].quantityrequired | integer | None | The number of inventory units represented by this record. | 0 (generated) |
data.lines[].unit_pricerequired | integer | None | Integer minor units (cents) in the order currency (STABLE). | 0 (generated) |
data.lines[].namerequired | string | None | Descriptive snapshot, frozen at order time (STABLE). | string (generated) |
data.lines[].setrequired | string | None | The card set or expansion. | string (generated) |
data.lines[].conditionrequired | string | None | The normalized condition assigned to the card. | string (generated) |
data.lines[].external_refrequired | string or null | None | Echo of the Seller's opaque listing ref; null if none (STABLE). | string (generated) |
data.lines[].language | string or null | None | The language of the card printing. | string (generated) |
data.lines[].finish | string or null | None | The physical finish or foil treatment of the card. | string (generated) |
data.lines[].disclosures | object | None | Provenance, grading, and authenticity statements shown to the buyer. | {
"image_source": "catalog",
"condition_source": "seller_declared",
"authenticity_source": "seller_attestation",
"snapcaster_inspected": false,
"snapcaster_graded": false,
"snapcaster_authenticated": false,
"grading_standard": "string",
"declared_grade": "string",
"buyer_protection": "string"
} (generated) |
data.lines[].disclosures.image_sourcerequired | string | allowed values: catalog | Who supplied the product image shown to the buyer. | catalog (generated) |
data.lines[].disclosures.condition_sourcerequired | string | allowed values: seller_declared | Who assigned the displayed card condition. | seller_declared (generated) |
data.lines[].disclosures.authenticity_sourcerequired | string | allowed values: seller_attestation | Who supplied the authenticity determination. | seller_attestation (generated) |
data.lines[].disclosures.snapcaster_inspectedrequired | boolean | allowed values: false | Whether Snapcaster physically inspected the card. | false (generated) |
data.lines[].disclosures.snapcaster_gradedrequired | boolean | allowed values: false | Whether Snapcaster assigned the displayed grade. | false (generated) |
data.lines[].disclosures.snapcaster_authenticatedrequired | boolean | allowed values: false | Whether Snapcaster authenticated the card. | false (generated) |
data.lines[].disclosures.grading_standardrequired | string | None | The grading standard used for the declared grade. | string (generated) |
data.lines[].disclosures.declared_graderequired | string or null | None | The grade declared for the card under the named standard. | string (generated) |
data.lines[].disclosures.buyer_protectionrequired | string | None | The buyer-protection coverage attached to this offering. | string (generated) |
data.lines[].fulfillment_obligation | object | None | The exact item characteristics the Seller must fulfill. | {
"sku": "exact",
"printing": "exact",
"language": "exact",
"finish": "exact",
"condition": "declared-or-better"
} (generated) |
data.lines[].fulfillment_obligation.skurequired | string | allowed values: exact | The stock-keeping identity for the exact card offering. | exact (generated) |
data.lines[].fulfillment_obligation.printingrequired | string | allowed values: exact | The exact card printing the Seller is obligated to supply. | exact (generated) |
data.lines[].fulfillment_obligation.languagerequired | string | allowed values: exact | The language of the card printing. | exact (generated) |
data.lines[].fulfillment_obligation.finishrequired | string | allowed values: exact | The physical finish or foil treatment of the card. | exact (generated) |
data.lines[].fulfillment_obligation.conditionrequired | string | allowed values: declared-or-better | The normalized condition assigned to the card. | declared-or-better (generated) |
data.totals | object | None | Order-level money rollup, integer minor units (cents) in the order currency: `grand_total = subtotal + shipping + tax`. When present, carries all four sums (STABLE). | {
"subtotal": 0,
"shipping": 0,
"tax": 0,
"grand_total": 0
} (generated) |
data.totals.subtotalrequired | integer | None | The line-item total before shipping and tax, in minor currency units. | 0 (generated) |
data.totals.shippingrequired | integer | None | The shipping charge or delivery details for the Order. | 0 (generated) |
data.totals.taxrequired | integer | None | The tax total or breakdown applied to the Order. | 0 (generated) |
data.totals.grand_totalrequired | integer | None | The complete Order total including shipping and tax, in minor currency units. | 0 (generated) |
data.tax | object | None | Tax breakdown: one `{label, rate, amount}` line per applied tax. The whole block is absent exactly when there is no tax (absent if and only if `totals.tax` = 0) (STABLE). | {
"lines": [
{
"label": "string",
"rate": 0,
"amount": 0
}
]
} (generated) |
data.tax.linesrequired | array of object | None | The individual records carried by this request, response, or event. | [
{
"label": "string",
"rate": 0,
"amount": 0
}
] (generated) |
data.tax.lines[].labelrequired | string | None | The human-readable label for this entry. | string (generated) |
data.tax.lines[].raterequired | number | None | The decimal tax rate applied to the taxable amount. | 0 (generated) |
data.tax.lines[].amountrequired | integer | None | The monetary amount in minor currency units. | 0 (generated) |
data.shipping | object | None | Chosen shipping option: `method` is a plain free-text string (not an enum) and `cost` is integer minor units (cents), mirroring `totals.shipping` (STABLE). | {
"method": "string",
"cost": 0
} (generated) |
data.shipping.methodrequired | string | None | The method used to carry out the surrounding action. | string (generated) |
data.shipping.costrequired | integer | None | The shipping cost in minor currency units. | 0 (generated) |
data.buyer_notes | string | None | Optional free-text buyer note; absent when the buyer left none (STABLE). | string (generated) |
data.status | string | allowed values: accepted, shipped, delivered, cancelled, refunded | The Lifecycle state. Absent until the Order first transitions: an absent status means `created`, and an `order.created` delivery never carries it (STABLE). | accepted (generated) |
data.fulfillment | object | None | Tracking block; present once Tracking has been attached at fulfillment (STABLE). | {
"tracking_company": "string",
"tracking_number": "string",
"tracking_url": "string"
} (generated) |
data.fulfillment.tracking_companyrequired | string | None | Carrier/company name, as the fulfiller entered it (STABLE). | string (generated) |
data.fulfillment.tracking_numberrequired | string | None | Carrier tracking number (STABLE). | string (generated) |
data.fulfillment.tracking_urlrequired | string or null | None | Tracking link; null if the fulfiller supplied none (STABLE). | string (generated) |
Errors
| Status | Code | Meaning | Do this |
|---|---|---|---|
| 400 | INVALID_REQUEST | The request failed validation (`INVALID_REQUEST`). | Correct the fields named in the error details, then retry the request. |
| 401 | UNAUTHORIZED | Missing or invalid Marketplace API key (`UNAUTHORIZED`). | Send the Marketplace API key for this Seller as a Bearer token, then retry. |
| 404 | ORDER_NOT_FOUND | No such Order for this Seller (`ORDER_NOT_FOUND`). A Seller-scoped miss (including another Seller’s order id) is always a 404, never a 403, so order ids don’t leak existence. | Check the order_id against GET /orders for the authenticated Seller, then retry with that id. |
| 422 | INVALID_TRANSITION | The move violates the Lifecycle transition graph (`INVALID_TRANSITION`). For example, a backwards move, a pre-ship Refund, or a post-ship Cancellation. | Read the Order again and submit only a legal next transition, using the dedicated cancellation or refund operation when applicable. |
Related
Operations
Concepts
Changelog
None.
Schema
Full schema details (86 fields)
Parameters
| Field | In | Type | Constraints | Meaning | Example |
|---|---|---|---|---|---|
orderIdrequired | path | string | minimum length: 1 | The opaque public Order id (the webhook/poll `order_id`). | ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW |
Request
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
lines | array of object | minimum items: 1 | The individual records carried by this request, response, or event. | [
{
"skuId": 1
}
] (generated) |
lines[].skuIdrequired | integer | exclusive minimum: 0 | Sku Id for the surrounding lines item record. | 1 (generated) |
lines[].quantity | integer | exclusive minimum: 0 | The number of inventory units represented by this record. | 1 (generated) |
Response 200 (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: true | Whether the operation completed as requested. | true (generated) |
datarequired | object | None | The operation or event payload. | {
"order_id": "string",
"seller_id": 0,
"created_at": "string",
"currency": "string",
"customer": {
"name": "string",
"email": "string",
"shipping_address": {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
}
},
"lines": [
{
"sku_id": 0,
"product_id": 0,
"quantity": 0,
"unit_price": 0,
"name": "string",
"set": "string",
"condition": "string",
"external_ref": "string"
}
]
} (generated) |
data.order_idrequired | string | None | Snapcaster order id; stable per Seller-order, 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.created_atrequired | string | None | ISO-8601 UTC instant the order was created (STABLE). | string (generated) |
data.currencyrequired | string | None | ISO 4217 currency code, e.g. CAD (STABLE). | string (generated) |
data.customerrequired | object | None | The buyer identity and delivery snapshot frozen for the Order. | {
"name": "string",
"email": "string",
"shipping_address": {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
}
} (generated) |
data.customer.namerequired | string | None | The human-readable name of the resource. | string (generated) |
data.customer.emailrequired | string | None | The contact email for the person represented by this record. | string (generated) |
data.customer.shipping_addressrequired | object | None | The delivery address snapshot frozen for the Order. | {
"line1": "string",
"line2": "string",
"city": "string",
"province": "string",
"postal_code": "string",
"country": "string"
} (generated) |
data.customer.shipping_address.line1required | string | None | The primary street-address line. | string (generated) |
data.customer.shipping_address.line2required | string or null | None | The optional unit, suite, or secondary address line. | string (generated) |
data.customer.shipping_address.cityrequired | string | None | The municipality in the delivery address. | string (generated) |
data.customer.shipping_address.provincerequired | string | None | The Canadian province or territory in the delivery address. | string (generated) |
data.customer.shipping_address.postal_coderequired | string | None | The Canadian postal code in the delivery address. | string (generated) |
data.customer.shipping_address.countryrequired | string | None | ISO 3166-1 alpha-2 country code. | string (generated) |
data.linesrequired | array of object | minimum items: 1 | One or more line snapshots (STABLE). | [
{
"sku_id": 0,
"product_id": 0,
"quantity": 0,
"unit_price": 0,
"name": "string",
"set": "string",
"condition": "string",
"external_ref": "string"
}
] (generated) |
data.lines[].sku_idrequired | integer | None | Canonical TCGplayer sku id (STABLE). | 0 (generated) |
data.lines[].product_idrequired | integer | None | Canonical TCGplayer product id (STABLE). | 0 (generated) |
data.lines[].quantityrequired | integer | None | The number of inventory units represented by this record. | 0 (generated) |
data.lines[].unit_pricerequired | integer | None | Integer minor units (cents) in the order currency (STABLE). | 0 (generated) |
data.lines[].namerequired | string | None | Descriptive snapshot, frozen at order time (STABLE). | string (generated) |
data.lines[].setrequired | string | None | The card set or expansion. | string (generated) |
data.lines[].conditionrequired | string | None | The normalized condition assigned to the card. | string (generated) |
data.lines[].external_refrequired | string or null | None | Echo of the Seller's opaque listing ref; null if none (STABLE). | string (generated) |
data.lines[].language | string or null | None | The language of the card printing. | string (generated) |
data.lines[].finish | string or null | None | The physical finish or foil treatment of the card. | string (generated) |
data.lines[].disclosures | object | None | Provenance, grading, and authenticity statements shown to the buyer. | {
"image_source": "catalog",
"condition_source": "seller_declared",
"authenticity_source": "seller_attestation",
"snapcaster_inspected": false,
"snapcaster_graded": false,
"snapcaster_authenticated": false,
"grading_standard": "string",
"declared_grade": "string",
"buyer_protection": "string"
} (generated) |
data.lines[].disclosures.image_sourcerequired | string | allowed values: catalog | Who supplied the product image shown to the buyer. | catalog (generated) |
data.lines[].disclosures.condition_sourcerequired | string | allowed values: seller_declared | Who assigned the displayed card condition. | seller_declared (generated) |
data.lines[].disclosures.authenticity_sourcerequired | string | allowed values: seller_attestation | Who supplied the authenticity determination. | seller_attestation (generated) |
data.lines[].disclosures.snapcaster_inspectedrequired | boolean | allowed values: false | Whether Snapcaster physically inspected the card. | false (generated) |
data.lines[].disclosures.snapcaster_gradedrequired | boolean | allowed values: false | Whether Snapcaster assigned the displayed grade. | false (generated) |
data.lines[].disclosures.snapcaster_authenticatedrequired | boolean | allowed values: false | Whether Snapcaster authenticated the card. | false (generated) |
data.lines[].disclosures.grading_standardrequired | string | None | The grading standard used for the declared grade. | string (generated) |
data.lines[].disclosures.declared_graderequired | string or null | None | The grade declared for the card under the named standard. | string (generated) |
data.lines[].disclosures.buyer_protectionrequired | string | None | The buyer-protection coverage attached to this offering. | string (generated) |
data.lines[].fulfillment_obligation | object | None | The exact item characteristics the Seller must fulfill. | {
"sku": "exact",
"printing": "exact",
"language": "exact",
"finish": "exact",
"condition": "declared-or-better"
} (generated) |
data.lines[].fulfillment_obligation.skurequired | string | allowed values: exact | The stock-keeping identity for the exact card offering. | exact (generated) |
data.lines[].fulfillment_obligation.printingrequired | string | allowed values: exact | The exact card printing the Seller is obligated to supply. | exact (generated) |
data.lines[].fulfillment_obligation.languagerequired | string | allowed values: exact | The language of the card printing. | exact (generated) |
data.lines[].fulfillment_obligation.finishrequired | string | allowed values: exact | The physical finish or foil treatment of the card. | exact (generated) |
data.lines[].fulfillment_obligation.conditionrequired | string | allowed values: declared-or-better | The normalized condition assigned to the card. | declared-or-better (generated) |
data.totals | object | None | Order-level money rollup, integer minor units (cents) in the order currency: `grand_total = subtotal + shipping + tax`. When present, carries all four sums (STABLE). | {
"subtotal": 0,
"shipping": 0,
"tax": 0,
"grand_total": 0
} (generated) |
data.totals.subtotalrequired | integer | None | The line-item total before shipping and tax, in minor currency units. | 0 (generated) |
data.totals.shippingrequired | integer | None | The shipping charge or delivery details for the Order. | 0 (generated) |
data.totals.taxrequired | integer | None | The tax total or breakdown applied to the Order. | 0 (generated) |
data.totals.grand_totalrequired | integer | None | The complete Order total including shipping and tax, in minor currency units. | 0 (generated) |
data.tax | object | None | Tax breakdown: one `{label, rate, amount}` line per applied tax. The whole block is absent exactly when there is no tax (absent if and only if `totals.tax` = 0) (STABLE). | {
"lines": [
{
"label": "string",
"rate": 0,
"amount": 0
}
]
} (generated) |
data.tax.linesrequired | array of object | None | The individual records carried by this request, response, or event. | [
{
"label": "string",
"rate": 0,
"amount": 0
}
] (generated) |
data.tax.lines[].labelrequired | string | None | The human-readable label for this entry. | string (generated) |
data.tax.lines[].raterequired | number | None | The decimal tax rate applied to the taxable amount. | 0 (generated) |
data.tax.lines[].amountrequired | integer | None | The monetary amount in minor currency units. | 0 (generated) |
data.shipping | object | None | Chosen shipping option: `method` is a plain free-text string (not an enum) and `cost` is integer minor units (cents), mirroring `totals.shipping` (STABLE). | {
"method": "string",
"cost": 0
} (generated) |
data.shipping.methodrequired | string | None | The method used to carry out the surrounding action. | string (generated) |
data.shipping.costrequired | integer | None | The shipping cost in minor currency units. | 0 (generated) |
data.buyer_notes | string | None | Optional free-text buyer note; absent when the buyer left none (STABLE). | string (generated) |
data.status | string | allowed values: accepted, shipped, delivered, cancelled, refunded | The Lifecycle state. Absent until the Order first transitions: an absent status means `created`, and an `order.created` delivery never carries it (STABLE). | accepted (generated) |
data.fulfillment | object | None | Tracking block; present once Tracking has been attached at fulfillment (STABLE). | {
"tracking_company": "string",
"tracking_number": "string",
"tracking_url": "string"
} (generated) |
data.fulfillment.tracking_companyrequired | string | None | Carrier/company name, as the fulfiller entered it (STABLE). | string (generated) |
data.fulfillment.tracking_numberrequired | string | None | Carrier tracking number (STABLE). | string (generated) |
data.fulfillment.tracking_urlrequired | string or null | None | Tracking link; null if the fulfiller supplied none (STABLE). | string (generated) |
Error 400 (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: false | Whether the operation completed as requested. | false (generated) |
errorrequired | object | None | Structured error information returned when the request cannot be completed. | {
"code": "UNAUTHORIZED",
"message": "string"
} (generated) |
error.coderequired | string | allowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLED | Stable public error code the Platform can branch on. | UNAUTHORIZED (generated) |
error.messagerequired | string | None | A human-readable explanation of the result. | string (generated) |
error.details | unknown | None | Additional structured context for diagnosing the result. | {} (generated) |
Error 401 (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: false | Whether the operation completed as requested. | false (generated) |
errorrequired | object | None | Structured error information returned when the request cannot be completed. | {
"code": "UNAUTHORIZED",
"message": "string"
} (generated) |
error.coderequired | string | allowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLED | Stable public error code the Platform can branch on. | UNAUTHORIZED (generated) |
error.messagerequired | string | None | A human-readable explanation of the result. | string (generated) |
error.details | unknown | None | Additional structured context for diagnosing the result. | {} (generated) |
Error 404 (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: false | Whether the operation completed as requested. | false (generated) |
errorrequired | object | None | Structured error information returned when the request cannot be completed. | {
"code": "UNAUTHORIZED",
"message": "string"
} (generated) |
error.coderequired | string | allowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLED | Stable public error code the Platform can branch on. | UNAUTHORIZED (generated) |
error.messagerequired | string | None | A human-readable explanation of the result. | string (generated) |
error.details | unknown | None | Additional structured context for diagnosing the result. | {} (generated) |
Error 422 (application/json)
| Field | Type | Constraints | Meaning | Example |
|---|---|---|---|---|
successrequired | boolean | allowed values: false | Whether the operation completed as requested. | false (generated) |
errorrequired | object | None | Structured error information returned when the request cannot be completed. | {
"code": "UNAUTHORIZED",
"message": "string"
} (generated) |
error.coderequired | string | allowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLED | Stable public error code the Platform can branch on. | UNAUTHORIZED (generated) |
error.messagerequired | string | None | A human-readable explanation of the result. | string (generated) |
error.details | unknown | None | Additional structured context for diagnosing the result. | {} (generated) |