Delete Sales Order
DELETE/api/sales-orders/:salesOrder
Deletes a sales order along with its dependent records (lines, fulfillments, allocations, payments). Inventory consumed by the order is released back to stock.
orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
The order cannot be deleted when any of its return receipts produced inventory that has already been consumed by other transactions — deleting it would orphan those downstream costs. In that case the request fails with 422 and the response data details which return receipts and quantities are blocking the delete.
Use POST /api/sales-orders/deletable to pre-check deletability, and the bulk delete endpoints to remove many orders in the background.
Authentication: Requires Bearer token.
Path parameters:
- salesOrder (required): Sales order ID.
Requires permission: sales_orders.delete
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.