Orders

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).

post/orders/{order_id}/cancel

Request

  • Base URL
    https://execution.kairos.trade
  • Auth
    API key in header X-Client-Id and API key in header X-Api-Key and API key in header X-Api-Secret

Path parameters

order_idstring uuid required

Internal Kairos order id.

Response

Cancel outcome. Check success — a 200 does not guarantee the order was actually cancelled (see description).

successboolean required

Whether cancellation and terminal fill verification are both complete. A venue DELETE acknowledgement alone still returns false while verification is pending.

order_idstring uuid required
messagestring

Human-readable outcome detail, e.g. "Order cancelled on exchange" or "Order is being submitted to exchange. Please try again in a moment."

filled_quantitystring nullable

Total cumulative filled quantity, decimal string, when terminal verification is complete. Omitted while pending or unknown; do not infer omitted as zero. The durable receipt repeats this exact cumulative in final_filled_quantity.

avg_fill_pricestring nullable

Average fill price (decimal, 0..1) of any portion that filled before the cancel landed. Omitted when nothing filled or unknown.

venue_reconciledboolean required

True only when a venue-final snapshot was observed and its exact cumulative fill has passed through Kairos' position fold. Currently authoritative for Kalshi.

Example response

{
  "reconciled_position": {
    "exchange_id": "kalshi"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.