> ## 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 Mass Cancel Request

> Cancel open orders in bulk

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

Cancels open orders in bulk, including orders resting in the book. MassCancelRequestType sets the scope. On US Perps types `1` and `7` are engine sweeps per instrument and Account, not per session: they cancel every order of that Account on each instrument where this SenderCompID has a cached open order, earlier connections included, whoever placed the order. If nothing is cached for the scope, Kraken sends no request to the engine and sends no reply. Each cancellation is confirmed by its own Execution Report; there is no mass cancel report.

<Note>
  **Mass cancel: venue differences**

  | | US Perps | Spot | Futures |
  | :- | :- | :- | :- |
  | Type `1` (one symbol) | Engine sweep on that instrument and Account; also accepts InstrumentID (48) | As documented: orders created or replaced on this session | Same as Spot |
  | Type `6` (this session) | Cancels this connection's orders one by one | As documented | Same as Spot |
  | Type `7` | Engine sweep per instrument and Account for every instrument with a cached open order; misses instruments with nothing cached | Sends a batch of the order ids cached for this SenderCompID, earlier connections included. There is no cancel-all call, so REST and WebSocket orders are not reached | Same as Spot |
</Note>

**Direction:** Client → Kraken

***

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

<ResponseField name="11 - ClOrdID" type="string" required>
  Client-assigned identifier of the mass cancel 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="530 - MassCancelRequestType" type="char" required>
  Scope of the mass cancel.

  **Possible values:**

  * `1` : Cancel by instrument. Requires Symbol (55) or InstrumentID (48). Engine sweep: for each Account that has a cached open order of this SenderCompID on that instrument, every order of that Account on the instrument is cancelled, whoever placed it. Nothing cached for the instrument means no request and no reply.
  * `6` : Cancel the orders created on this connection, one by one.
  * `7` : Cancel by SenderCompID. Engine sweep for every instrument where this SenderCompID has a cached open order, earlier connections included: for each such instrument and Account, every order of that Account is cancelled, whoever placed it. An instrument with nothing cached is not reached; nothing cached at all means no request and no reply.
</ResponseField>

<ResponseField name="336 - TradingSessionID" type="string">
  Trading session the status applies to.
</ResponseField>

<ResponseField name="55 - Symbol" type="string">
  Perpetual futures contract, in the venue symbol form. Ten contracts are listed at launch. Required for type `1` unless InstrumentID is 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.\
  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.
</ResponseField>

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

  **Possible values:**

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

<ResponseField name="60 - TransactTime" type="UTCTimestamp" required>
  Time of the business event in UTC, formatted YYYYMMDD-HH:MM:SS.uuu.

  **Format:** UTC timestamp, YYYYMMDD-HH:MM:SS.uuu
</ResponseField>

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