35=9Order Cancel Reject (35=9)
The server sends OrderCancelReject (35=9) to the client over TLS/TCP. This is not an HTTP response.
Sent when an OrderCancelRequest cannot be fulfilled. For example, the order is already filled, already canceled, or unknown.
CxlRejResponseTo (434) is always 1 (OrderCancelRequest).
| CxlRejReason (102) | Meaning |
|---|---|
0 |
Too late to cancel. Order already filled, canceled, or pending cancel |
1 |
Unknown order. OrigClOrdID (41) or OrderID (37) not found |
99 |
Other. System error, account mismatch, or non-cancelable state (see text 58) |
Message fields
| Tag | Field | Required | Description |
|---|---|---|---|
| 1 | Account | Optional | Optional. Echoed when available (inbound cancel Account or session Go Account ID). Omitted when empty. |
| 37 | OrderID | Required | Required. Echoed from the cancel request, or |
| 11 | ClOrdID | Optional | Optional. Echoed from the cancel request. |
| 41 | OrigClOrdID | Optional | Optional. Echoed from the cancel request ( |
| 39 | OrdStatus | Required | Required. Current order status. Often |
| 58 | Text | Required | Required. Human-readable rejection reason. |
| 60 | TransactTime | Required | Required. Echoed from the cancel request when present. |
| 102 | CxlRejReason | Required | Required.
|
| 434 | CxlRejResponseTo | Required | Required. Always |
Examples
Example (pipe-delimited FIX) — too late to cancel (order already canceled; 39
is the order's current status). Same shape when already filled (39=2):
8=FIX.4.4|9=250|35=9|34=67|49=BITGO|52=20260728-06:18:59.380|56=0123456789abcdef0123456789abcdef|1=0123456789abcdef0123456789abcdef|11=cxl-ord-008|37=16cebd5d-dc6a-4cdc-b72f-0bbbf49eabe1|39=4|41=NONE|58=order cannot be cancelled|60=20260728-06:18:59.228|102=0|434=1|10=XXX