API reference · Orders
List an order's cancellation requests
/orders/{orderId}/cancellation-requestsRead every cancellation request a buyer has opened on the order, pending and resolved, oldest first. Use it to recover a missed order.cancellation_request.* event: each event carries one of these items. Answer a pending request by declining it with POST /orders/{orderId}/cancellation-requests/{requestId}/decline, or honor it by cancelling the lines it names with POST /orders/{orderId}/cancel.
Example
These examples send requests to the sandbox.
Replace the example orderId in the URL with your own.
curl --request GET \
--url 'https://api-sandbox.snapcaster.ca/api/v1/marketplace/orders/ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW/cancellation-requests' \
--header "Authorization: Bearer $MARKETPLACE_API_KEY"{
"success": true,
"data": {
"items": [
{
"id": "cnr_8d3f2a61b0c94e7f9a15c2d48e6b7031",
"order_id": "ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW",
"status": "pending",
"reason": "Ordered the wrong printing",
"resolution_note": null,
"created_at": "2026-09-04T19:01:12.000Z",
"resolved_at": null,
"lines": [
{
"line_ref": "oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241",
"sku_id": 14602,
"quantity": 1
}
]
}
]
}
}Endpoint
| Environment | URL |
|---|---|
| Sandbox | https://api-sandbox.snapcaster.ca/api/v1/marketplace |
| Production | https://api.snapcaster.ca/api/v1/marketplace |
marketplaceApiKey-http bearer. Send the seller's marketplace API key asAuthorization: Bearer mp_{sellerCode}_{hex}. Themp_{sellerCode}_prefix identifies the seller; the trailing hex is the secret. The seller generates the key and supplies it to your platform.
Request
Path parameters
orderIdstring requiredThe opaque public order id (the webhook/poll
order_id).Constraints: minimum length: 1 Example
ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VW
Headers
X-Snapcaster-Api-VersionstringOverride the platform pin for this request only. Webhook versions and the platform pin do not change.
Constraints: allowed values:
2026-10Example2026-10
Response
200
The order's cancellation requests.
Response body: Cancellation
successboolean requiredWhether the operation completed as requested.
Constraints: allowed values:
trueExampletruedataobject requiredThe operation or event payload.
Show child fieldsHide child fields
data.items CancellationrequiredRequest[] Every cancellation request on the order, pending and resolved, oldest first.
Show child fieldsHide child fields
data.string requireditems[]. id The cancellation request id (
cnr_…), stable for the life of the request (STABLE).Example
cnr_8d3f2a61b0c94e7f9a15c2d48e6b7031data.string requireditems[]. order_id The order the buyer asked to cancel (STABLE).
Example
ord_sandbox_01K4A8Y6D4QJH2N3P5R7S9T0VWdata.string requireditems[]. status pendinguntil it is answered.honored: a cancellation covered it.declined: the seller refused it, withresolution_note.withdrawn: the buyer took it back (STABLE).Constraints: allowed values:
pending,honored,declined,withdrawnExamplependingdata.string or null requireditems[]. reason The buyer's own words, or null when they gave none (STABLE).
Example
Ordered the wrong printingdata.string or null requireditems[]. resolution_note The decline reason the buyer is shown. Null unless
statusisdeclined(STABLE).Example
nulldata.string requireditems[]. created_at When the buyer opened the request (STABLE).
Constraints: format: date-time Example
2026-09-04T19:01:12.000Zdata.string or null requireditems[]. resolved_at When the request was honored, declined or withdrawn. Null while it is pending (STABLE).
Constraints: format: date-time Example
nulldata.array of object or null requireditems[]. lines The lines the buyer asked to cancel, or null when they asked to cancel the whole order (STABLE).
Show child fieldsHide child fields
data.string or null requireditems[]. lines[]. line_ref The purchase line the buyer asked to cancel, the same
line_refthe order carries. Null only on a request recorded before line refs existed.Example
oln_1f0c8a4d7e2b45c9a1d6f3b8e07c9241data.integer requireditems[]. lines[]. sku_id The SKU now on that line (STABLE).
Example
14602data.integeritems[]. lines[]. quantity How many units the buyer asked to cancel. Omitted means the whole line (STABLE).
Constraints: exclusive minimum: 0 Example
1
Errors
Errors return a Marketplace body, except HTTP 500 (Api). Error codes explains both error bodies and lists every code.
400
INVALID_REQUESTUNSUPPORTED_API_VERSIONThe request failed validation (
INVALID_REQUEST). Unknown or retired API-version override (UNSUPPORTED_API_VERSION).Do this: Correct the fields named in the error details, then retry the request. For UNSUPPORTED_API_VERSION, choose a supported version from the API versioning guide.
401
UNAUTHORIZEDMissing or invalid marketplace API key (
UNAUTHORIZED).Do this: Send the marketplace API key for this seller as a Bearer token, then retry.
403
SUBSCRIPTION_EXCLUDES_ORDERSThe platform's subscription is
inventory, which does not include orders (SUBSCRIPTION_EXCLUDES_ORDERS). Onlyordersandbothsubscriptions read and act on orders.Do this: Do not retry. Ask Snapcaster to change the platform subscription to
ordersorbothif the platform should handle orders.404
ORDER_NOT_FOUNDNo order matches this id for the authenticated seller (
ORDER_NOT_FOUND). Another seller's order also returns 404, so the response does not reveal whether it exists.Do this: Check the order_id against GET /orders for the authenticated seller, then retry with that id.
500
INTERNAL_ERRORAn unexpected failure (
INTERNAL_ERROR).Do this: Retry with bounded retries and jitter. If the failure persists, contact Snapcaster with the X-Correlation-ID response header.