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

# FIX Drop Copy API

> A consolidated private feed of orders and trades across Deribit.

## Downloads

<CardGroup cols={1}>
  <Card title="FIX Specification XML" icon="file-code" href="http://statics.deribit.com/files/FIX50.xml">
    FIX 5.0 SP2 specification file for the Drop Copy API
  </Card>
</CardGroup>

The FIX Drop Copy API provides a complete record of orders and trades. It uses two distinct message types depending on the trade type:

<Note>
  The FIX Drop Copy gateway is designed for **direct access users**: clients placing orders through one of the Starbase order entry gateways. Non-direct users (e.g. orders placed via the Web UI or WebSocket API) are not supported.
</Note>

## Connection and Authentication

### FIX Version

The gateway uses **FIX 5.0 SP2 (FIXT.1.1)**. The `BeginString` field in the logon message must be set to `FIXT.1.1`. Connections using an older version (e.g. `FIX.4.4`) are rejected before parsing can identify the sender, so no reject message is returned.

```text theme={null}
Example FIX logon message
8=FIXT.1.1|9=280|35=A|49=<client_id>|56=CBDRBDC|34=1|52=<timestamp_in_ms>|98=0|108=30|141=Y|1137=9|553=<client_id>|554=<secret>|96=<raw_data>|95=78|58=<signature>|10=135|
```

### Logon Fields

| Tag   | Name         | Value                                                                         |
| ----- | ------------ | ----------------------------------------------------------------------------- |
| 49    | SenderCompID | Client-defined. Must remain consistent for the duration of the session.       |
| 56    | TargetCompID | `CBDRBDC`                                                                     |
| 553   | Username     | Client ID (API key)                                                           |
| 554   | Password     | Client Secret (API Secret)                                                    |
| 96    | RawData      | `raw_data` as generated below                                                 |
| 58    | Text         | `signature` as generated below                                                |
| 25001 | Messages     | `TRADES_ONLY`<br />`ORDERS_AND_TRADES`<br />`ALL_EVENTS `- Enabled by default |

```python theme={null}
import base64
import hashlib
import secrets

def build_signature(secret: str) -> tuple[str, str]:
    """Returns (raw_data, signature_b64)"""
    timestamp_ms = int(time.time() * 1000)
    nonce        = secrets.token_hex(32)
    raw_data     = f"{timestamp_ms}.{nonce}"
    digest       = hashlib.sha256((raw_data + secret).encode("utf-8")).digest()
    signature    = base64.b64encode(digest).decode("ascii")
    return raw_data, signature
```

* **Execution Reports** (`35=8`) cover orders and trades that occur **in the order book.**
* **Trade Capture Reports** (`35=AE`) cover trades that occur **outside the order book.**

<Note>
  Mass quotes (submitted via the SBE Mass Quote API) appear in the Drop Copy feed **only when they result in fills**. Unexecuted quotes are not included.
</Note>

## Open Order Snapshot on Connect

When a new Drop Copy session is established, Starbase immediately sends Execution Reports for all currently open orders. These snapshot messages are sent automatically (no request is needed) and are marked with a snapshot indicator to distinguish them from live messages. This allows clients to synchronize their order state on connect without requesting an ER replay.

## Report Types

### Order book trades: Execution Reports

Execution Reports are sent for all activity that goes through the order book:

| Source               | Description                                                              |
| -------------------- | ------------------------------------------------------------------------ |
| Starbase Order Entry | Orders placed via the Starbase Direct Access APIs.                       |
| Other Order Entry    | Orders placed via other methods: Websocket API, Web UI, mobile app, etc. |
| Liquidations         | Liquidation and rebalancing orders generated by Deribit's risk system.   |

### Reported trades: Trade Capture Reports

Trade Capture Reports are sent for trades that bypass the order book entirely:

| Source         | Description                                                                    |
| -------------- | ------------------------------------------------------------------------------ |
| Block Trades   | Privately negotiated trades reported to the exchange. Includes Block RFQ.      |
| Position Moves | Transfer of an open position between two accounts under the same main account. |

## Drop Copy Message Types

<AccordionGroup>
  <Accordion title="Orders">
    * [ExecutionReport \<8> | 150=0/4/5/A/E](#newcanceledreplacedpending-order-358-150045ae): Sent on any new, amended, cancelled, or speed-bumped order.
  </Accordion>

  <Accordion title="Trades">
    * [ExecutionReport \<8> | 150=F](#trade-150f): Sent on any trade generated by an order.
    * [TradeCaptureReport \<AE>](#tradecapturereportrequest-ad): Sent on any trade *not* generated by an order (e.g. block trades).
  </Accordion>
</AccordionGroup>

## Parties Repeating Group (453)

| Tag   | Name          | FIX Type   | Req | Description                                                                                                                                           |
| :---- | :------------ | :--------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |
| 453   | NoPartyIDs    | NumInGroup | Y   | Number of PartyIDs in repeating group: `453=5` for all order-status, trade, and drop copy messages.                                                   |
| → 448 | PartyID       | String(20) | Y   | Party identifier/code                                                                                                                                 |
| → 447 | PartyIDSource | Char       | Y   | 447 = D (Proprietary)                                                                                                                                 |
| → 452 | PartyRole     | Int        | Y   | 1 - Subfirm Code<br />4 - Clearing Firm Code<br />11 - Order Originating Trader<br />55 - Session ID<br />3 - Client ID (ITM name used for the order) |

<Note>
  The new `PartyRole=3 (Client ID)` entry carries the name of the ITM (clearing account) that the order actually used. When firm/ITM overrides are enabled on Order Entry, this value reflects the overridden ITM; otherwise it matches the user's default ITM.
</Note>

## Orders

### ExecutionReport \<8> | 150=0/4/5/A/E

New (`150=0`), Canceled (`150=4`), Replaced (`150=5`), Pending New (`150=A`), and Pending Replace (`150=E`) reports share the same subset of Execution Report tags.

* **New** (`150=0`): Confirms a new order in response to any request to generate a new order, such as `NewOrderResponse(200)` via the SBE Order Entry API. Sent for every new order, even those matched immediately.
* **Canceled** (`150=4`): Confirms an order is canceled in response to any request to cancel an order, such as `CancelOrderRequest(120)` via the SBE Order Entry API or to an unsolicited cancel.
* **Replaced** (`150=5`): Confirms order is replaced in response to any request to amend an order such as `AmendOrderRequest(110)` via the SBE Order Entry API.
* **Pending New** (`150=A`): Sent when a new order is speed bumped and queued pending entry to the book. Followed by a New (`150=0`) report once the speed bump period expires and the order is placed.
* **Pending Replace** (`150=E`): Sent when an amended order is speed bumped and queued pending re-entry to the book. Followed by a Replaced (`150=5`) report once the speed bump period expires and the order is placed.

| Tag  | Name                        | FIX Type         | Req | Description                                                                                                                                                                                                                                                           |
| :--- | :-------------------------- | :--------------- | :-- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1    | Account                     | String(16)       | Y   | Unique ID representing the account.                                                                                                                                                                                                                                   |
| 453  | NoPartyIDs                  | NumInGroup       | Y   | Represents the Parties repeating group. See [Parties Repeating Group (453)](#parties-repeating-group-453).                                                                                                                                                            |
| 11   | ClOrdID                     | String(36)       | Y   | Unique client ID representing the order. Must not exceed 36 ascii characters. Client system must maintain uniqueness of this value for the life of the order.                                                                                                         |
| 14   | CumQty                      | Int(9)           | Y   | Cumulated traded quantity throughout lifespan of an order.                                                                                                                                                                                                            |
| 17   | ExecID                      | String(40)       | Y   | Unique exchange ID representing the trade execution.                                                                                                                                                                                                                  |
| 37   | OrderID                     | String(17)       | Y   | Unique exchange ID representing the order.                                                                                                                                                                                                                            |
| 38   | OrderQty                    | Int(9)           | Y   | Order quantity.                                                                                                                                                                                                                                                       |
| 39   | OrdStatus                   | Char(1)          | Y   | Represents order status. <ul><li>`0` = New</li><li>`4` = Canceled</li><li>`5` = Replaced</li><li>`A` = Pending New (order is speed bumped, awaiting entry to book)</li><li>`E` = Pending Replace (amended order is speed bumped, awaiting re-entry to book)</li></ul> |
| 40   | OrdType                     | Char(1)          | Y   | Order type. Market orders are not accepted during opening auction.                                                                                                                                                                                                    |
| 41   | OrigClOrdID                 | String(36)       | N   | Last accepted `ClOrdID` in the order chain.                                                                                                                                                                                                                           |
| 44   | Price                       | Price(20)        | C   | Price per single contract unit. Required for limit or stop-limit orders.                                                                                                                                                                                              |
| 54   | Side                        | Char(1)          | Y   | Side of order.                                                                                                                                                                                                                                                        |
| 55   | Symbol                      | String(24)       | Y   | Represents details of an instrument. Future Example: `EUM20`                                                                                                                                                                                                          |
| 167  | SecurityType                | String(6)        | N   | Represents security type.                                                                                                                                                                                                                                             |
| 59   | TimeInForce                 | Char(1)          | N   | Represents how long the order remains in effect. Default is `59=0` (TimeInForce="Day"). For `59=3` (TimeInForce="FAK"), `MinQty` can also be specified.                                                                                                               |
| 60   | TransactTime                | UTCTimestamp(21) | Y   | Time when the order message was submitted. UTC format `YYYYMMDD-HH:MM:SS.ssssss` in microseconds. <br /> Example: `20091216-19:21:41.109000`                                                                                                                          |
| 99   | StopPx                      | Price(20)        | C   | Stop price of the order. Required for stop and stop-limit orders.                                                                                                                                                                                                     |
| 18   | ExecInst                    | Char             | N   | The execution instruction flags for the order.<br /><br />Supported values:<br />`6` = Add Liquidity Only (Post Only)                                                                                                                                                 |
| 110  | MinQty                      | Int(9)           | N   | Minimum quantity of an order to be executed. Used only when `59=3` (TimeInForce="Fill and Kill").                                                                                                                                                                     |
| 150  | ExecType                    | Char(1)          | Y   | Represents execution type. <ul><li>`0` = New</li><li>`4` = Canceled</li><li>`5` = Replaced</li><li>`A` = Pending New (speed bumped)</li><li>`E` = Pending Replace (speed bumped)</li></ul>                                                                            |
| 151  | LeavesQty                   | Int(9)           | Y   | Number of contracts remaining for execution.                                                                                                                                                                                                                          |
| 378  | ExecRestatementReason       | Int(3)           | N   | Reason why the order was canceled by the system (e.g., cancel on disconnect, self-match prevention, etc.).                                                                                                                                                            |
| 432  | ExpireDate                  | LocalMktDate(8)  | C   | Order expiration date, or the last day the order could trade.                                                                                                                                                                                                         |
| 528  | OrderCapacity               | Int(1)           | C   | Pass through field from/when present in NewOrder. Identifies origin of order (i.e., capacity of firm placing the order).                                                                                                                                              |
| 582  | CustOrderCapacity           | Char(1)          | C   | Pass through field from/when present in NewOrder. Customer Type Indicator as defined by NFA.                                                                                                                                                                          |
| 1028 | ManualOrderIndicator        | Boolean(1)       | Y   | Represents whether or not the order was generated manually (`Y`) or automatically (`N`) with trading software.                                                                                                                                                        |
| 1031 | CustOrderHandlingInst       | String(1)        | Y   | Source of the original order.                                                                                                                                                                                                                                         |
| 3040 | StopLimitPx                 | Price(20)        | C   | Limit order price when stop loss is triggered                                                                                                                                                                                                                         |
| 5979 | RequestTime                 | Int(20)          | N   | Time when the request was received by the exchange. Integer value representing UTC time in microseconds since epoch.                                                                                                                                                  |
| 7928 | SelfMatchPreventionID       | Int(8)           | C   | Unique ID (per executing firm) representing two orders that should not match. Required when market participants enable SelfMatch Prevention. Max length is 8 digits.                                                                                                  |
| 8000 | SelfMatchPreventionStrategy | Char(1)          | N   | Represents type of cancel instruction when SelfMatch Prevention is triggered. Client systems must also include `SelfMatchPreventionID` (7928) on the originating message.                                                                                             |
| 8001 | MmpGroupId                  | String           | N   | Identifier of the Market Maker Protection group applied to this order, mirroring the `mmpGroupId` field on the SBE Order Entry API. Present only for orders subject to MMP.                                                                                           |

## Trades

### ExecutionReport \<8> | 150=1 or 150=2

Sent for trades on orders.

| Tag  | Name                  | FIX Type         | Req | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| :--- | :-------------------- | :--------------- | :-- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1    | Account               | String(16)       | Y   | Unique ID representing the account.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 453  | NoPartyIDs            | NumInGroup       | Y   | Represents the Parties repeating group. See [Parties Repeating Group (453)](#parties-repeating-group-453).                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 11   | ClOrdID               | String(36)       | Y   | Unique client ID representing the order. Must not exceed 36 ascii characters. Client system must maintain uniqueness of this value for the life of the order.                                                                                                                                                                                                                                                                                                                                                                                   |
| 14   | CumQty                | Int(9)           | Y   | Cumulated traded quantity throughout lifespan of an order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 17   | ExecID                | String(40)       | Y   | Unique exchange ID representing the trade execution.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 880  | TrdMatchID            | String (20)      | Y   | Unique exchange ID representing a match event that results in multiple executions or trades.                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 31   | LastPx                | Price(20)        | Y   | Price at which order was filled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 32   | LastQty               | Int(9)           | Y   | Quantity filled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 37   | OrderID               | String(17)       | Y   | Unique exchange ID representing the order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 38   | OrderQty              | Int(9)           | C   | Order quantity.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 39   | OrdStatus             | Char(1)          | Y   | Represents order status, "Partial Fill" (`1`) or "Complete Fill" (`2`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 40   | OrdType               | Char(1)          | Y   | Order type such as market, limit, etc.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 41   | OrigClOrdID           | String(36)       | N   | Last accepted `ClOrdID` in the order chain.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 44   | Price                 | Price(20)        | C   | Price per single contract unit.<br /><br />For Execution Report messages sent in response to Market or Stop orders (with protection), Price is the Protection Price Limit (best available price +/- protection points).<br /> If the order is not completely filled, the remaining open quantity rests on the order book at the Protection Price Limit.<br />**Note:** For spread trade Execution Reports, Price (44) is sent in the Execution Report – Fill Notice (35=`8`, 39=`1` or `2`) for the spread only and not the legs of the spread. |
| 54   | Side                  | Char(1)          | Y   | Side of order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 55   | Symbol                | String(24)       | Y   | Represents details of an instrument. Future Example: `EUM20`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 167  | SecurityType          | String(6)        | N   | Represents security type.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 59   | TimeInForce           | Char(1)          | N   | Represents how long the order remains in effect. Default is `59=0` (TimeInForce="Day"). For `59=3` (TimeInForce="FAK"), `MinQty` can also be specified.                                                                                                                                                                                                                                                                                                                                                                                         |
| 60   | TransactTime          | UTCTimestamp(21) | Y   | Time when the order message was submitted. UTC format `YYYYMMDD-HH:MM:SS.ssssss` in microseconds. <br /> Example: `20091216-19:21:41.109000`                                                                                                                                                                                                                                                                                                                                                                                                    |
| 18   | ExecInst              | Char             | N   | The execution instruction flags for the order.<br /><br />Supported values:<br />`6` = Add Liquidity Only (Post Only)                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 75   | TradeDate             | LocalMktDate(8)  | Y   | Indicates date of trade reference in this message in `YYYYMMDD` format.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 150  | ExecType              | Char(1)          | Y   | Represents execution type, "Trade" (`150=1 (partial fill) or 150=2 (full fill)`).                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 151  | LeavesQty             | Int(9)           | C   | Number of contracts remaining for execution after this fill.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 393  | TotalNumSecurities    | Int(3)           | N   | Number of leg fill acknowledgment messages sent with spread summary. Sent for spread fill messages only.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 442  | MultiLegReportingType | Int(1)           | N   | Represents acknowledgment of Outright, Leg of Spread, and Spread.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 527  | SecondaryExecID       | String(40)       | C   | Unique exchange ID representing link between spread summary fill notice with leg fill notice and trade cancel messages.                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 528  | OrderCapacity         | Int(1)           | Y   | Represents the type of business conducted: <ul><li>`528=0` = Customer/Agency</li><li>`528=1` = Principal</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 1028 | ManualOrderIndicator  | Boolean(1)       | Y   | Represents whether or not the order was generated manually (`Y`) or automatically (`N`) with trading software.                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 1031 | CustOrderHandlingInst | String(1)        | Y   | Source of the original order.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| 5979 | RequestTime           | Int(20)          | N   | Time when the request was received by the exchange. Integer value representing UTC time in microseconds since epoch.                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 828  | TrdType               | Int(1)           | N   | Type of trade. <ul><li>`0` = CLOB trade</li><li>`1` = Block trade</li><li>`2` = Liquidation trade</li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                     |

### TradeCaptureReportRequest \<AD>

By sending a TradeCaptureReportRequest on a drop copy connection, a replay of non-order book trades (block trades, position moves) is triggered as a series of sequential TradeCaptureReport (`35=AE`) messages. The replay starts from the ExecID specified in the request. Trades are available for **24 hours**. For a full history of all trades, the Websocket APIs should be utilized.

| Tag | Name             | FIX Type   | Req | Description                                                                           |
| --- | ---------------- | ---------- | --- | ------------------------------------------------------------------------------------- |
| 568 | TradeRequestID   | String     | Y   |                                                                                       |
| 569 | TradeRequestType | Int        | Y   | Should always be set to `1`                                                           |
| 17  | ExecID           | String(40) | N   | All trades with ExecIDs larger than or equal to this value will be resent by Starbase |

### TradeCaptureReport \<AE>

Sent for each non-order book trade (block trade, position move), both proactively as trades occur and in response to a `TradeCaptureReportRequest`.

| Tag  | Name                  | FIX Type         | Req | Description                                                                                                                |
| ---- | --------------------- | ---------------- | --- | -------------------------------------------------------------------------------------------------------------------------- |
| 571  | TradeReportID         | String           | Y   | Unique identifier for this trade report                                                                                    |
| 568  | TradeRequestID        | String           | N   | Echoed from the originating `TradeCaptureReportRequest`; absent if unsolicited                                             |
| 150  | ExecType              | Char(1)          | Y   | Always `F` (full and partial fills)                                                                                        |
| 17   | ExecID                | String(40)       | Y   | Unique exchange identifier for this execution                                                                              |
| 570  | PreviouslyReported    | Boolean(1)       | Y   | Whether this trade was previously reported to the counterparty. `Y` = previously reported, `N` = first report              |
| 1003 | TradeID               | String           | Y   | Unique identifier for the trade                                                                                            |
| 828  | TradeType             | Int(1)           | Y   | Type of trade. `0` = CLOB trade, `1` = Block trade, `2` = Liquidation trade, `3` = Position move                           |
| 880  | TrdMatchID            | String(20)       | Y   | Unique identifier for the match event                                                                                      |
| 1040 | BlockID               | String           | N   | Block trade identifier; present for block trades only                                                                      |
| 32   | TradeQuantity         | Int(9)           | Y   | Quantity traded                                                                                                            |
| 31   | LastPx                | Price(20)        | Y   | Price at which the trade occurred                                                                                          |
| 60   | TransactTime          | UTCTimestamp(21) | Y   | Time of trade in UTC; `YYYYMMDD-HH:MM:SS.ssssss`                                                                           |
| 442  | MultiLegReportingType | Int(1)           | N   | Present for trades on multi-leg instruments. `1` = Single-leg trade, `2` = Leg of a multi-leg trade, `3` = Multi-leg trade |
| 55   | Symbol                | String(24)       | Y   | Instrument name                                                                                                            |
| 54   | Side                  | Char(1)          | Y   | Side of the trade. `1` = Buy, `2` = Sell                                                                                   |
| 75   | TradeDate             | LocalMktDate(8)  | Y   | Trade date in `YYYYMMDD` format                                                                                            |

## Fill Execution Report Replay

The Drop Copy connection supports on-demand replay of **fill** Execution Reports (`150=1 or 150=2`) using two message types. Non-fill Execution Reports (`150=0/4/5/A/E`) are not replayed; use the [open order snapshot](#open-order-snapshot-on-connect) to recover order state after a reconnect. Fill reports are retained for **24 hours**.

ExecIDs are sequential integers assigned per member and track fill events only. The typical flow is to first request the current last fill ExecID as a baseline, then request a replay starting from that point.

### LastFillExecIDRequest \<F1>

Sent by the client to retrieve the server's current last fill `ExecID` for this member.

| Tag | Name      | FIX Type | Req | Description                                             |
| :-- | :-------- | :------- | :-- | :------------------------------------------------------ |
| 35  | MsgType   | String   | Y   | `F1`                                                    |
| 790 | TestReqID | String   | N   | Ignored; required only to satisfy FIX schema validation |

**Response: LastFillExecID \<F2>**

| Tag | Name      | FIX Type | Req | Description                                            |
| :-- | :-------- | :------- | :-- | :----------------------------------------------------- |
| 35  | MsgType   | String   | Y   | `F2`                                                   |
| 45  | RefSeqNum | Int      | Y   | `MsgSeqNum` of the originating `LastFillExecIDRequest` |
| 17  | ExecID    | Int      | Y   | Server's current last fill ExecID for this member      |

***

### EventResendRequest \<F3>

Requests replay of fill Execution Reports (`150=1 or 150=2`) within an ExecID range. The server streams all matching reports in order, then sends `EventResendComplete`. Only fill events within the 24-hour retention window are available.

| Tag    | Name        | FIX Type | Req | Description                                                                                                  |
| :----- | :---------- | :------- | :-- | :----------------------------------------------------------------------------------------------------------- |
| 35     | MsgType     | String   | Y   | `F3`                                                                                                         |
| custom | BeginExecId | Int      | Y   | First fill ExecID to replay, inclusive. Must be within the 24-hour retention window.                         |
| custom | EndExecId   | Int      | N   | Last fill ExecID to replay, inclusive. If omitted, defaults to the current last fill ExecID for this member. |

<Note>
  Replayed fill Execution Reports are identical in format to live fill reports. There is no flag or field distinguishing a replayed message from a live one.
</Note>

**Response: EventResendComplete \<F4>**

Sent after all replayed reports have been delivered.

| Tag    | Name             | FIX Type | Req | Description                                         |
| :----- | :--------------- | :------- | :-- | :-------------------------------------------------- |
| 35     | MsgType          | String   | Y   | `F4`                                                |
| 45     | RefSeqNum        | Int      | Y   | `MsgSeqNum` of the originating `EventResendRequest` |
| custom | ResentEventCount | Int      | Y   | Total number of fill Execution Reports replayed     |

**Reject: EventResendReject \<F5>**

| Tag   | Name                    | FIX Type | Req | Description                                                    |
| :---- | :---------------------- | :------- | :-- | :------------------------------------------------------------- |
| 35    | MsgType                 | String   | Y   | `F5`                                                           |
| 45    | RefSeqNum               | Int      | Y   | `MsgSeqNum` of the originating `EventResendRequest`            |
| 22006 | EventResendRejectReason | Int      | Y   | `1` = `BEGIN_EXEC_ID_TOO_SMALL`, `2` = `END_EXEC_ID_TOO_LARGE` |
| 58    | Text                    | String   | N   | Human-readable description                                     |

<Note>
  `BEGIN_EXEC_ID_TOO_SMALL` means `BeginExecId` is older than the 24-hour retention window, or no fill Execution Reports exist yet for this member. Send a `LastFillExecIDRequest` to re-establish a valid baseline.

  `END_EXEC_ID_TOO_LARGE` means `EndExecId` refers to an event that does not yet exist. Omit `EndExecId` to replay up to the current last fill event.
</Note>
