Skip to main content
DELETE
Cancel orders by id
DELETE /orders-v3 cancels orders you name by id, and is the only cancel route that reports a per-order outcome. This is a synchronous endpoint.
The HTTP status is not the cancel outcome This route returns 200 whether or not anything was cancelled. An id you do not own, an id that no longer exists, and an id you already cancelled all arrive as 200 with the order in notCancelled.
There is a 5-second confirmation timeout. Orders that report in time land in cancelled or notCancelled; any that do not report before the timeout come back in the unconfirmed bucket. unconfirmed does not mean the cancel failed — the command was still submitted and usually takes effect shortly after. Re-read GET /orders-v3 to confirm, rather than assuming either outcome.
At most limits.maxCancelOrders ids per request (100 today). Read the cap from GET /metadata/obv3; exceeding it is a 400. To cancel every order at once, use DELETE /orders-v3/all instead of paging ids through this route.

Authorizations

x-sx-api-key
string
header
required

API key, sent as the x-sx-api-key header. Generate one from the API keys section of your account page on sx.bet.

Body

application/json
orders
object[]
required

An array of objects, each with an orderId{orders: [{orderId}]}. At most limits.maxCancelOrders unique items (100 today). An empty array is valid and does nothing. Duplicate ids are collapsed server-side: a repeated id is cancelled once and appears once in the response, and the cap counts unique ids.

Response

status
string

success or failure if the request succeeded or not

data
object
Last modified on August 11, 2026