> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kraken.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Order Status Request

> Request the current state of a single order

<div className="api-banner">
  <span className="api-protocol fix">FIX</span>
  <span className="api-detail">session: trading</span>
  <span className="api-tag">35=H</span>
</div>

Asks for the current state of one order, identified by ClOrdID and OrderID. The answer arrives as an Execution Report with ExecType=I, where OrdStatus carries the state. On US Perps only live orders cached for this SenderCompID are answered this way. A finished order, or any order that is not in the cache, is not found and comes back as a BusinessMessageReject (35=j) with BusinessRejectReason (380) `101` (Unknown order), or `0` when the lookup itself fails.

<Note>
  **Order status: venue differences**

  | | US Perps | Spot | Futures |
  | :- | :- | :- | :- |
  | Which orders are answered | Live orders cached for this SenderCompID only | Orders outside the cache are still found, so there is no per-session limit | Status requests are off in production and UAT |
  | Unknown order | `35=j`, `380=101` (`380=0` if the lookup fails) | `35=j`, `380=101` | n/a |
</Note>

**Direction:** Client → Kraken

***

<ResponseField name="header" type="" required>35=`H`</ResponseField>

<ResponseField name="37 - OrderID" type="string" required>
  Exchange-assigned order identifier generated by Kraken; the value to quote back on cancels, amends and status requests.

  **Format:** Assigned by Kraken; quote it back on cancels, amends and status requests.
</ResponseField>

<ResponseField name="11 - ClOrdID" type="string" required>
  Client-assigned identifier of the status request. On US Perps it must be a positive integer of at most 19 digits: use an ever-increasing number, for example a microsecond timestamp. See [New Order Single](/exchange/api-reference/unified-fix-v2/nos) for how invalid values are rejected.

  **Format:** Positive integer, up to 19 digits, e.g. a microsecond timestamp.
</ResponseField>

<ResponseField name="1 - Account" type="string">
  Numeric end-client id of the end client the order belongs to. Optional on this message and not used: the end client is taken from the original order.

  **Format:** Non-zero numeric end-client id.
</ResponseField>

<ResponseField name="55 - Symbol" type="string">
  Perpetual futures contract, in the venue symbol form. Ten contracts are listed at launch. Either Symbol or InstrumentID must be sent. Ignored when InstrumentID is also sent: the instrument is then recognised from InstrumentID.

  **Format:** Venue symbol.

  <span className="field-attr">Required:</span> Conditional
</ResponseField>

<ResponseField name="48 - InstrumentID" type="string">
  Identifier of the instrument within the identification scheme named by InstrumentIDSource. Either Symbol or InstrumentID must be sent.\
  Where both Symbol and InstrumentID are sent, InstrumentID is what the instrument is recognised from and Symbol is ignored.

  **Format:** Venue instrument identifier. Takes precedence over Symbol when both are sent.

  <span className="field-attr">Required:</span> Conditional
</ResponseField>

<ResponseField name="22 - InstrumentIDSource" type="string">
  Identification scheme that InstrumentID is expressed in.

  **Possible values:**

  * `8` : Exchange symbol.
</ResponseField>

<ResponseField name="54 - Side" type="char">
  Side of the order.

  **Possible values:**

  * `1` : Buy.
  * `2` : Sell.
</ResponseField>

<ResponseField name="trailer" type="" required />
