Skip to main content
Cancels an order. Nothing is sent to the customer, and a cancelled order can’t be fulfilled. Webhooks get order.canceled. Asking again for the status it already has changes nothing and sends nothing.
Needs the catalogue.orders:write scope.

Path parameters

Request

Response

200 OK — the order, now cancelled. status is new, confirmed, declined, fulfilled or cancelled. source is where it came from: cart (a WhatsApp cart), agent (an AI agent’s draft, approved by a person), person (made by hand in the panel) or api. channel is the channel it came in on, where replies about it go. Each line keeps its own copy of the name and price, so a later change to the product doesn’t rewrite it; product is the product’s id, or null for a SKU the catalogue doesn’t have. Money is in minor units.

Errors

Every refusal is {"error": {"code", "message", "field"}}; field is there when one input is at fault. Any request can also be refused for its key, its account or its rate (key_required, invalid_key, account_suspended, plan_excludes_api, address_not_allowed, rate_limited); see the overview.