FIXOrders FIX

POST

The client sends OrderStatusRequest (35=H) to the server over TLS/TCP. This is not an HTTP request.

Request a point-in-time order snapshot. The server responds with a single ExecutionReport (35=8, 150=I) containing current quantity, status, and fill fields.

Provide tag 37 (OrderID) and/or tag 11 (ClOrdID). At least one is required; 37 takes precedence when both are supplied.

On failure (order not found) the server responds with an ExecutionReport reject: 150=8, 39=8, 37=NONE, 55=N/A, 54=7, 103=99, 58="order not found".

Example (pipe-delimited FIX):

8=FIX.4.4|9=146|35=H|49=0123456789abcdef0123456789abcdef|56=BITGO|34=118|52=20260618-12:59:17.539|11=limit-gtc-funded-001|37=96b407cf-ec38-404c-b849-0d53f1ee923b|10=XXX

Body Params

OrderStatusRequest (35=H) body fields. At least one of OrderID (37) or ClOrdID (11) is required; tag 37 takes precedence when both are present.

ANY OF

  • clOrdID string
    Conditional. Client order id of the order whose status is being requested. At least one of 37 or 11 required.
  • orderID string required

Responses

200
Status as ExecutionReport (150=I).

Response Body

object

ExecutionReport (35=8). Server → client. Lifecycle events for NewOrderSingle, cancels, fills, rejects, and OrderStatusRequest (150=I).

Correlate with ClOrdID (11) and OrderID (37). ExecType=F is used for all fills. Use OrdStatus (39) and LeavesQty (151) for working vs terminal state — not 150=F alone. Terminal Filled (39=2, typically 151=0) is usually on the following Order Status report (150=I), not on the last fill.

  • account string
    Optional Trading account ID (Go account ID)
  • avgPx string required
    Required. Average fill price (0 if unfilled).
  • clOrdID string required
    Required. Client order id. NONE on cancel reports (PendingCancel / Canceled) and when the order has no client id.
  • cumQty string required
    Required. Total quantity filled so far.
  • currency string
    Optional. Quantity currency for tag 38.
  • execID string required
    Required. Unique id for this ExecutionReport.
  • lastPx string
    Conditional. This fill's price. Present only when ExecType = F (Trade). Omitted otherwise.
  • lastQty string
    Conditional. This fill's quantity. Present only when ExecType = F (Trade). Omitted otherwise.
  • orderID string required
    Required. BitGo order UUID. NONE on some reject reports.
  • orderQty string
    Optional. Original order quantity echoed from the NewOrderSingle.
  • ordStatus string enum required
    Required. Current order state: A Pending New, 0 New, 1 Partially Filled, 2 Filled, 4 Canceled, 6 Pending Cancel, 8 Rejected.
    012468A
  • ordType string enum
    Optional. Echoed from the original NewOrderSingle.
    1234
  • origClOrdID string
    Optional / Conditional. Set on cancel-related ERs to the original NOS ClOrdID.
  • price string
    Optional. Limit price echoed from the original NewOrderSingle.
  • side string enum required
    Required. 1 Buy, 2 Sell. 7 Undisclosed may appear on some reject reports.
    127
  • symbol string required
    Required. Product echoed from the NewOrderSingle. N/A on some reject reports.
  • text string
    Optional / Conditional. Human-readable reject detail. Present on rejects (150=8).
  • timeInForce string enum
    Optional. Echoed from the original NewOrderSingle.
    1346
  • transactTime string required
    Required. UTC business timestamp for this report.
  • stopPx string
    Optional. Stop/trigger price echoed from the original NewOrderSingle.
  • ordRejReason integer enum
    Conditional. Present only when ExecType = 8 (Rejected). 1 Unknown symbol, 2 Market unavailable, 3 OrderExceedsLimit, 6 Duplicate ClOrdID, 15 UnknownAccount, 99 Other (see Text).
    12361599
  • execType string enum required
    Required. Event type: A PendingNew, 0 New, F Trade (partial or full), 6 PendingCancel, 4 Canceled, 8 Rejected, I Order Status (response to 35=H, and terminal status summary after a full fill).
    0468AFI
  • leavesQty string required
    Required. Quantity still open. Use together with OrdStatus (39) for working vs terminal state. On terminal Canceled reports (150=4 / 39=4) this stays at the open quantity at cancel time; it is not reset to 0 (39=4 is canceled even when 151 > 0). On fills, 151=0 with 39=1 is not yet terminal Filled — wait for 39=2 (typically on 150=I).
  • effectiveTime string
    Optional. Scheduled activation time echoed from NOS.
  • grossTradeAmt string
    Optional. Cumulative filled quote quantity (equivalent to REST filledQuoteQuantity).
  • targetStrategy string enum
    Optional. Algo strategy echoed from the original order (T TWAP, S SteadyPace).
    TS
  • noStrategyParameters integer
    Optional. Strategy param group count echoed from NOS for algo orders.
  • strategyParameterName string
    Optional. Parameter name within group 957.
  • strategyParameterType string enum
    Optional. Populated by the server on echoed strategy parameters: 1 = Int, 6 = Float, 14 = String, based on the parameter's inferred type.
    1614
  • strategyParameterValue string
    Optional. Parameter value within group 957.
  • fundingType string enum
    Optional. 1 Funded, 2 Margin. Echoed from the original order.
    12