Skip to main content

Query Order

Type: USER-DATA

GET /fapi/v1/order

Fetch a single order by id.

Request

GET /fapi/v1/order?symbol=BTCUSDT&orderId=<uuid>

Query params

Parameters are read from the URL query string only (the body is only part of the signed payload); a required parameter missing from the query string fails with HTTP 400 (plain-text axum rejection, not a {code, msg} JSON body).

NameTypeRequiredNotes
symbolstringyesstandard pair (validated as known, but not used to filter — the order is looked up by orderId + calling user only, so an open order on another symbol is still returned).
orderIdUUID stringyesOrder id.

Response — 200

{
"orderId": "8a3f5b2c-4d1e-6f7a-8b9c-0d1e2f3a4b5c",
"clientOrderId": "8a3f5b2c-4d1e-6f7a-8b9c-0d1e2f3a4b5c",
"symbol": "BTCUSDT",
"status": "PARTIALLY_FILLED",
"side": "BUY",
"type": "LIMIT",
"price": "76500.00",
"origQty": "0.001",
"updateTime": 1748275200500
}

status is one of NEW or PARTIALLY_FILLED. Filled or cancelled orders return -2011 (they have been removed from ledger.orders_open). clientOrderId always equals orderId (the newClientOrderId sent at placement is not stored); type is always LIMIT; updateTime is the order's creation time, not its last fill time.

Errors

HTTPcodemsg
400-1100orderId not a valid UUID, or unknown symbol.
422-2011Order does not exist (or is no longer open).
500-1000Database failure.

Signature and API-key failures (-1021, -1022, -1102, -2014, -2015) and rate limiting (-1003, HTTP 429) apply to every signed endpoint; see Error Codes.

Other standard fields such as executedQty, cumQuote, avgPrice, stopPrice, reduceOnly, closePosition, time are not yet returned. Querying by origClientOrderId (instead of orderId) is not yet supported.