List the authenticated user's orders
Returns orders belonging to the authenticated caller, most recent first, with optional status filtering and offset pagination. When status is omitted, every status (including terminal ones) is returned. Response is trimmed. To keep this endpoint cheap for polling UIs, the heavy raw (full venue response, can be ~100 KB/order) and metadata fields are stripped from every row (raw: null, metadata: null); the outcome label is preserved by falling back to metadata.outcome before stripping. Use GET /orders/{order_id} for the full row including raw. Auth & scope. Requires trade:read. For API-key callers without an exchange_id filter, every distinct provider the user has orders on is checked for API-key access before the list is returned.
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
Query parameters
Filter to a single venue (e.g. polymarket, kalshi, hyperliquid).
A single status or a comma-separated set, e.g. filled or open,pending,live,partial. Omit to return all statuses. Matched against the RAW stored status strings, which are not identical to the OrderStatus enum: queued/locked/executing/orphaned are all stored as pending, and the stored set additionally includes open, processing and delayed.
When true, return only working orders — stored status in pending, queued, locked, processing, executing, live, open, partial or delayed, excluding a partial market/FAK/IOC/FOK order (which is terminal in practice).
Maximum rows to return. Clamped to at most 500 server-side. There is no lower clamp, so a zero or negative value is passed through to the query — send a positive value.
Rows to skip, for paginating order history. Clamped to >= 0. Ignored when before_id is set — the two pagination modes are mutually exclusive.
Keyset cursor on (submitted_at, id) — return rows strictly older than this order. Preferred over offset for deep pagination; takes precedence over it.
Response
The caller's orders (raw/metadata stripped), newest first.
Example response
[
{
"exchange_id": "polymarket",
"side": "buy",
"kind": "limit",
"quantity": "100",
"price": "0.52",
"price_bps": 5200,
"time_in_force": "GTC",
"filled_quantity": "0",
"status": "live",
"failure": {
"code": "FOK_NOT_FILLED",
"details": {
"code": "FUNDS_INSUFFICIENT_USDC",
"actions": [
{
"label": "Add Funds"
}
]
}
},
"collateral_mode": "skip",
"shard_funding": true,
"source": "api"
}
]Changes
No recorded changes to this operation across all 1 revision of this API.