Cancel a single order
Cancels one order by internal id. Polymarket cancellation is an L2 API-key (HMAC) operation on the venue side, so no EOA/wallet signature is required — this works identically for custodial and external-signing orders. This endpoint almost always returns 200, even on failure to cancel. success: false with a message covers: the order is already terminal (filled/cancelled/expired/failed), or the venue currently refuses the cancel (still live — retry). Non-2xx status codes are reserved for auth/ownership/not-found/infrastructure failures, not "the cancel didn't happen." Cancel-before-submit race. If the order hasn't reached the exchange yet (still pending/queued), it is cancelled locally via an atomic conditional update that races safely against the in-flight submission. If the submission wins that race (order mid-submission), the response is success: false asking the caller to retry shortly. Fill-during-cancel. A venue acknowledgement is followed by terminal fill verification. Until the response carries terminal_fill_verification.state: complete, it returns success: false and consumers must keep protection active. The completed receipt's final_filled_quantity is the authoritative venue cumulative (never the latest fill delta), including explicit zero, and is published only after the corresponding Trade/Position fold. Kalshi may complete this barrier synchronously; other venues normally complete through the polling worker and expose the retained receipt on retry or GET /orders/{order_id}. Auth & scope. Requires trade:execute and ownership of the order (403 otherwise).
Request
- Base URLhttps://execution.kairos.trade
- AuthAPI key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret
Path parameters
Internal Kairos order id.
Response
Cancel outcome. Check success — a 200 does not guarantee the order was actually cancelled (see description).
Example response
{
"reconciled_position": {
"exchange_id": "kalshi"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.