Make your first API request in minutes. Learn the basics of the Polymarket US platform, fetch market data, place orders, and redeem winning positions.
Learn the fundamentals, explore our APIs, and start building on the world's largest prediction market.
| Program | Access | Description |
|---|---|---|
| User Incentive Programs | ||
| Deposit Incentive Program | Open | Earn incentive credits for making a qualifying deposit |
| Refer-A-Friend Incentive Program | Open | Earn incentive credits for referring your friends |
| Daily Trading Incentive Program | Coming Soon | Earn incentive credits for daily trading activity |
| Deposit and Trading Incentive Program | Coming Soon | Earn incentive credits for qualifying deposit and trading activity |
| Institutional Incentive Programs | ||
| Volume Incentive Program | Open | Rewards for taker trading volume |
| Liquidity Incentive Program | Open | Rewards for placing resting orders, whether they fill or not — see the live rewards schedule |
| Market Maker Program | Application | Strong incentives for providing stable liquidity across a variety of markets |
| Affiliate Incentive Programs | ||
| Referral Incentive Program | Application | Rewards for referring new traders to Polymarket US |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = x | ||
| 320 | SecurityReqID | Y | String | Unique ID associated with this request. |
| 336 | TradingSessionID | N | String | Used to filter for instruments by market state (CLOSED, OPEN, PREOPEN, SUSPENDED, EXPIRED, TERMINATED, HALTED, MATCH\_AND\_CLOSE\_AUCTION) |
| 559 | SecurityListRequestType | Y | int | The type of request being made (0=Individual symbol, 4=All Securities) |
| 55 | Symbol | C | String | Required if SecurityListRequestType (559) = 0 (individual security) |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = y | ||
| 320 | SecurityReqID | Y | String | The unique SecurityReqID (320) sent on the request. |
| 322 | SecurityResponseID | Y | String | Unique ID for this response. Typically a 13 character alphanumeric string. |
| 560 | SecurityRequestResult | Y | int | The status of the request (0=Valid, 1=Invalid/unsupported, 3=Not authorized) |
| 146 | NoRelatedSym | C | NumInGroup | Number of instruments to be returned. Only present for valid requests. |
| → 55 | Symbol | Y | String | Instrument symbol |
| → 48 | SecurityID | Y | String | Will always equal Symbol (55) |
| → 22 | SecurityIDSource | Y | int | 8 = Exchange symbol |
| → 167 | SecurityType | N | String | EVENT=Event contract. Currently, Polymarket only offers EVENT instruments. |
| → 231 | ContractMultiplier | N | float | The ratio or multiplier to convert from "nominal" units (e.g. contracts) to total units (e.g. shares). Applicable for Fixed Income, Derivatives, etc. |
| → 864 | NoEvents | Y | NumInGroup | Number of repeating EventType entries. Will always be 1. |
| →→ 865 | EventType | Y | int | Code to represent the type of event (5=Activation) |
| →→ 866 | EventDate | Y | LocalMktDate | Date that the instrument first started (or will start) trading on the exchange in YYYYMMDD format. |
| →→ 868 | EventText | Y | String | Event string. Always 'StartDate'. |
| → 969 | MinPriceIncrement | Y | float | Minimum price increment (tick size) |
| → 1151 | SecurityGroup | Y | String | The name of the group of securities to which this instrument belongs. |
| → 562 | MinTradeVol | Y | Qty | The minimum quantity allowed on an order. This field can be a decimal, indicating the ability to trade fractional shares of this instrument. |
| → 15 | Currency | Y | Currency | Currency for the instrument. |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| 8 | BeginString | Y | String | FIXT.1.1 |
| 9 | BodyLength | Y | Length | Standard FIX message body length |
| 35 | MsgType | Y | String | The message type. See relevant section. |
| 49 | SenderCompID | Y | String | Sender identity as agreed with the exchange operator. |
| 56 | TargetCompID | Y | String | Intended target identity as agreed with the exchange operator. |
| 50 | SenderSubID | C | String | Sender sub-identifier representing an individual user (as previously agreed with the exchange operator). Required on all application messages related to the entry or management of orders. |
| 57 | TargetSubID | N | String | Target sub-identifier representing an individual user (as previously agreed with the exchange operator) |
| 34 | MsgSeqNum | Y | SeqNum | FIX Message sequence number |
| 43 | PossDupFlag | N | Boolean | Always required for retransmitted messages as the result of a resend request |
| 52 | SendingTime | Y | UTCTime | Sending time in UTC |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| 10 | Checksum | Y | String | Standard FIX checksum |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 8 | ||
| 1 | Account | N | String | Account reference if indicated on the original order |
| 6 | AvgPx | Y | Price | Volume-weighted average price of all trades against this order. May be zero for unexecuted orders. |
| 11 | ClOrdID | Y | String | The participant-assigned ClOrdID value as sent on the last order action message form the Participant (new order, amendment or cancel). |
| 12 | Commission | N | Amt | Commission amount charged on this fill. Present on trades only. |
| 13 | CommType | N | char | Commission calculation method. 3=Absolute (total dollar amount) |
| 14 | CumQty | Y | Qty | Cumulative quantity so far for this order. May be zero for unexecuted orders. |
| 17 | ExecID | Y | String | Unique identifier for the Execution Report as assigned by Polymarket US. Typically a 13-character alphanumeric string. |
| 22 | SecurityIDSource | Y | String | Identifies source of SecurityID (48) value. 8=Exchange symbol |
| 31 | LastPx | Y | Price | Price of this last fill. Will be zero for messages not relating to a trade. |
| 32 | LastQty | Y | Qty | Quantity traded on this last fill. Will be zero for messages not relating to a trade. |
| 37 | OrderID | Y | String | Unique identifier for Order as assigned by Polymarket US. Typically a 13-character alphanumeric string. |
| 38 | OrderQty | Y | Qty | Total order quantity (amended as necessary) |
| 39 | OrdStatus | Y | char | The latest status of the order after any changes have been applied. 0=New, 1=Partially filled, 2=Fully filled, 4=Canceled, 8=Rejected, C=Expired |
| 40 | OrdType | Y | char | The type of order. 2=Limit, 3=Stop, 4=Stop Limit, K=Market with left over as limit |
| 41 | OrigClOrdID | N | String | Sent in the case of order amendment or cancellation. References the prior ClOrdID (11) value that the action amended/canceled. |
| 44 | Price | Y | Price | Order limit price (amended as necessary) |
| 48 | SecurityID | Y | String | Security identifier; will always match Symbol (55). |
| 54 | Side | Y | char | 1=Buy, 2=Sell |
| 55 | Symbol | Y | String | Instrument symbol |
| 460 | Product | Y | Int | Indicates the type of product the security is associated with. 1=AGENCY, 2=COMMODITY, 3=CORPORATE, 4=CURRENCY, 5=EQUITY, 6=GOVERNMENT, 7=INDEX, 8=LOAN, 9=MONEYMARKET, 10=MORTGAGE, 11=MUNICIPAL, 12=OTHER, 13=FINANCING, 14=ENERGY |
| 59 | TimeInForce | Y | char | Echoed from New Order Single. 0=Good for day, 1=Good till cancel, 3=Immediate or cancel, 4=Fill or kill, 6=Good till date |
| 60 | TransactTime | Y | UTCTime | Timestamp when the business transaction represented by the message occurred. |
| 99 | StopPx | Y | Price | Order stop price (amended as necessary). Will be zero for non stop orders. |
| 103 | OrdRejReason | N | int | Rejection reason (where OrdStatus = Rejected). 0=Broker/Exchange Option, 1=Unknown symbol, 2=Exchange closed (maintenance), 3=Order exceeds limit (price validation), 5=Unknown order, 6=Duplicate order (ClOrdID), 11=Unsupported order characteristic, 12=Surveillance option, 13=Incorrect quantity (lot size), 15=Unknown account (tag 1), 16=Price exceeds current price band, 18=Invalid price increment (tick size), 99=Other |
| 119 | SettlCurrAmt | N | Amt | Present on trades only. Total amount of this last fill. Equal to LastPx (31) x LastQty (32) |
| 126 | ExpireTime | N | UTCTime | Order expiry date (amended as necessary). |
| 150 | ExecType | Y | char | The reason that the Polymarket US sent this Execution Report. 0=New, 4=Canceled, 5=Replaced, 8=Rejected, C=Expired, F=Trade |
| 151 | LeavesQty | Y | Qty | Remaining, unexecuted quantity left on the order. May be zero for fully filled orders. |
| 381 | GrossTradeAmt | N | Amt | Present on orders which have been filled. Total amount traded across all fills for this order. Equal to AvgPx (6) x CumQty (38). |
| 581 | AccountType | N | Int | 1=CUSTOMER, 2=NON\_CUSTOMER, 3=HOUSE\_TRADER, 4=FLOOR\_TRADER, 6=NON\_CUSTOMER\_CROSS\_MARGINED, 7=HOUSE\_TRADER\_CROSS\_MARGINED, 8=JOINT\_BACK\_OFFICE, 9=EQUITIES\_SPECIALIST, 10=OPTIONS\_MARKET\_MAKER, 11=OPTIONS\_FIRM\_ACCOUNT, 12=AGGREGATED\_CUSTOMER\_AND\_NON\_CUSTOMER, 13=AGGREGATED\_MULTIPLE\_CUSTOMERS, 14=LIQUIDITY\_PROVIDER, 15=OPERATING, 16=CLEARING\_FUND, 17=FUTURES\_MARKET\_MAKER |
| 582 | CustOrderCapacity | N | Int | 1=OWN\_ACCOUNT, 2=PROPRIETARY\_ACCOUNT, 3=FINANCIAL\_ADVISOR, 4=ALL\_OTHER, 5=RETAIL\_CUSTOMER |
| 453 | NoPartyIDs | N | Int | Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries |
| → 448 | PartyID | N | String | Party identifier/code |
| → 447 | PartyIDSource | N | char | D=Proprietary |
| → 452 | PartyRole | N | Int | 1=EXECUTING\_FIRM, 3=CLIENT\_ID, 24=CUSTOMER\_ACCOUNT |
| 828 | TrdType | N | int | Present on trades only. 0=Regular trade |
| 880 | TrdMatchID | C | String | Always populated for trades. Note that buyer and seller will receive the same value. Will match the TradeID (1003) value on market data updates. Typically a 13-character alphanumeric string. |
| 1028 | ManualOrderIndicator | N | Boolean | Indicates if the order was initially received manually (as opposed to electronically) |
| 1057 | AggressorIndicator | C | Boolean | Always populated for trades. Identifies whether this order was the aggressor in the trade. |
| 378 | ExecRestatementReason | N | int | Indicates that the resting order has been canceled as a result of self-match prevention. 99=Self-match prevention |
| 110 | MinQty | N | Qty | Minimum required execution quantity for the order (if specified) |
| 6127 | ConditionTriggerMethod | N | int | The reference price used for triggering the stop order. 2=Last price, 5=Settlement price |
| 7928 | SelfMatchPreventionID | N | String | Unique identifier for the self-match prevention instruction. |
| 8000 | SelfMatchPreventionInstruction | N | String | Self-match instruction. O=Cancel oldest (resting) order, N=Cancel newest (aggressive) order |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = X | ||
| 262 | MDReqID | Y | String | The ID of the request as indicated on the request |
| 268 | NoMDEntries | Y | NumInGroup | |
| → 279 | MDUpdateAction | Y | char | The type of action conveyed by this block (0=New, 1=Change, 2=Delete) |
| → 269 | MDEntryType | C | char | Type of entry. Set where MDUpdateAction (279) = (0) New or 1 (Change). 0=Bid, 1=Offer, 2=Trade, 4=Opening Price, 5=Closing Price, 6=Settlement Price, 7=Trading Session High Price, 8=Trading Session Low Price, B=Trade Volume, g=Trading Reference Price |
| → 278 | MDEntryID | N | String | Unique reference for this entry. Typically a 13-character alphanumeric string. |
| → 55 | Symbol | Y | String | Instrument symbol |
| → 22 | SecurityIDSource | Y | int | 8 = Exchange symbol |
| → 48 | SecurityID | Y | String | Will always equal Symbol (55) |
| → 167 | SecurityType | N | String | EVENT=Event contract. Currently, Polymarket only offers EVENT instruments. |
| → 1151 | SecurityGroup | N | String | Security sub-type. For example "Equities" |
| → 270 | MDEntryPx | N | Price | Order level price where MDEntryType (269) = 0 (Bid) or 1 (Offer). Traded price where MDEntryType (269) = 2 (Trade). Total value traded where MDEntryType (269) = B (Trade Volume) |
| → 271 | MDEntrySize | N | Qty | Remaining order size where MDEntryType (269) = 0 (Bid) or 1 (Offer). Will be zero where MDUpdateAction (279) = 2 (Delete). Trade size where MDEntryType (269) = 2 (Trade). Total quantity traded where MDEntryType (269) = B (Trade Volume) |
| → 272 | MDEntryDate | N | UTCDateOnly | The date on which the price level or trade occurred |
| → 273 | MDEntryTime | N | UTCTimeOnly | The time at which the price level updated or trade occurred (in UTC) |
| → 59 | TimeInForce | N | char | Time in force for this order (0=Good for day, 1=Good till cancel, 6=Good till date) |
| → 126 | ExpireTime | N | UTCTimestamp | Populated where TimeInForce (59) = 6 (Good Till Date) |
| → 37 | OrderID | N | String | Only sent for price level updates. Will match OrderID (37) in the ExecutionReport \[8], allowing Participants to identify their own orders within market data. |
| → 40 | OrdType | N | char | 2 = Limit order, K = Market-to-limit order |
| → 828 | TrdType | N | int | Only sent for trades. 0 = Regular trade |
| → 1003 | TradeID | N | String | Only sent for trade updates. Will match the ExecID (17) in the ExecutionReport fill, allowing Participants to identify their own trades within market data. |
| → 2446 | AggressorSide | N | char | Only sent for trades. Indicates which side was the aggressor in a trade (1=Buy, 2=Sell) |
| → 336 | TradingSessionID | C | String | Sent for trades and trading status changes. Possible values: CLOSED, OPEN, PREOPEN, SUSPENDED, EXPIRED, TERMINATED, HALTED, MATCH\_AND\_CLOSE\_AUCTION |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = V | ||
| 262 | MDReqID | Y | String | Unique ID for this request |
| 263 | SubscriptionRequestType | Y | char | Type of subscription requested (0=Snapshot, 1=Snapshot plus Updates, 2=Delete previous request/unsubscribe) |
| 264 | MarketDepth | Y | int | Depth requested, maximum 25 levels (0=Full book depth, 1=Top of book/best prices only, 2+=Number of levels requested) |
| 267 | NoMDEntryTypes | N | NumInGroup | |
| →269 | MDEntryType | N | char | A repeating group of MD Entry Types requested (0=Bid, 1=Offer, 2=Trade, 4=Opening Price, 5=Closing Price, 6=Settlement Price, 7=Trading Session High Price, 8=Trading Session Low Price, B=Trade Volume, g=Trading Reference Price) |
| 146 | NoRelatedSym | Y | NumInGroup | Number of symbols requested |
| →55 | Symbol | Y | String | Instrument symbol. |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = W | ||
| 22 | SecurityIDSource | Y | int | 8 = Exchange symbol |
| 48 | SecurityID | Y | String | Will always equal Symbol (55) |
| 55 | Symbol | Y | String | Instrument symbol |
| 167 | SecurityType | N | String | EVENT=Event contract. Currently, Polymarket only offers EVENT instruments. |
| 262 | MDReqID | Y | String | The ID of the request as indicated on the request. |
| 292 | Corporate Action | C | char | Provided if the instrument is currently subject to a Corporate Action (A-W codes) |
| 268 | NoMDEntries | Y | NumInGroup | The number of market data levels returned. Might be zero if the symbol is valid but there are currently no bids/offers in this symbol. |
| → 269 | MDEntryType | Y | char | Type of entry (0=Bid, 1=Offer, 2=Trade, 4=Opening Price, 5=Closing Price, 6=Settlement Price, 7=Trading Session High Price, 8=Trading Session Low Price, B=Trading Session Volume, g=Trading Reference Price) |
| → 270 | MDEntryPx | Y | Price | Price level |
| → 271 | MDEntrySize | C | Qty | Quantity of the individual order or trade, or the aggregate quantity where MDEntryType (269) = B (Trading Session Volume). Not sent for session open/high/low. |
| → 272 | MDEntryDate | Y | UTCDateOnly | Time priority (date) of the order. |
| → 273 | MDEntryTime | Y | UTCTimeOnly | Time priority (time) of the order. |
| → 336 | TradingSessionID | C | String | Sent for entries other than MDEntryType (269) = 0 (Bid) or 1 (Offer): CLOSED, OPEN, PREOPEN, SUSPENDED, EXPIRED, TERMINATED, HALTED, MATCH\_AND\_CLOSE\_AUCTION |
| → 1151 | SecurityGroup | C | String | The name of the group of related securities to which this instrument belongs. |
| → 1070 | MDQuoteType | C | int | Identifies market data quote type. Only sent for MDEntryType (269) = 4 (Opening Price). 0 = Indicative |
| → 59 | TimeInForce | C | char | Sent for MDEntryType (269) = 0 (Bid) or 1 (Offer). The time in force for this order (0=Good for day, 1=Good till cancel, 6=Good till date) |
| → 37 | OrderID | C | String | Sent for MDEntryType (269) = 0 (Bid) or 1 (Offer). Matches the order ID in the ExecutionReport \[8] acknowledgement, allowing Participants to identify their own orders within market data. Typically a 13-character alphanumeric string. |
| → 278 | MDEntryID | C | String | Sent for MDEntryType (269) = 0 (Bid) or 1 (Offer). Unique reference for the entry. Typically 13-character alphanumeric string. |
| → 40 | OrdType | C | char | Sent for MDEntryType (269) = 0 (Bid) or 1 (Offer). |
| → 126 | ExpireTime | N | UTCTimestamp | Sent for MDEntryType (269) = 0 (Bid) or 1 (Offer) where the order has ExpiryTime (126) set. |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = D | ||
| 11 | ClOrdID | Y | String | Unique, participant-created identifier for this Order. Uniqueness must be guaranteed across a session (i.e. between logon and logout), which may span multiple days |
| 1 | Account | N | String | Account reference as previously advised to the exchange operator |
| 18 | ExecInst | N | MultipleChar | Instructions for order handling. Note that Price Validity Checks can only be ignored (c) for market-to-limit orders to sell. G=All or None, c=Ignore Price Validity Checks, 6=Participate Don't Initiate |
| 110 | MinQty | N | Qty | Minimum order quantity that must be executed upon entry (or else the whole order is immediately canceled). |
| 55 | Symbol | Y | String | Instrument symbol |
| 460 | Product | N | Int | Indicates the type of product the security is associated with. All current products on Polymarket are Product=12 (OTHER). |
| 54 | Side | Y | char | 1=Buy, 2=Sell |
| 60 | TransactTime | N | UTCTime | Timestamp of order entry in UTC. |
| 38 | OrderQty | Y | Qty | Order quantity. Can be a decimal. |
| 40 | OrdType | Y | Char | Order type (2=Limit, 3=Stop, 4=Stop limit, K=Market with left-over as limit) |
| 44 | Price | N | Price | Price per share/unit. Required where OrdType (40) = 2 (Limit) or 4 (Stop Limit). |
| 99 | StopPx | N | Price | Stop price at which to trigger the stop order. Required for OrdType (40) = 3 (Stop) or 4 (Stop Limit). Must be greater than or equal to Price (44) for buy order, or less than or equal to Price (44) for sell orders. |
| 581 | AccountType | N | Int | Account type codes (1-17) |
| 582 | CustOrderCapacity | N | Int | Customer order capacity codes (1-5) |
| 453 | NoPartyIDs | N | NumingGroup | Number of PartyID (448), PartyIDSource (447), and PartyRole (452) entries |
| → 448 | PartyID | N | String | Party identifier/code |
| → 447 | PartyIDSource | N | char | D=Proprietary |
| → 452 | PartyRole | N | Int | 1=EXECUTING\_FIRM, 3=CLIENT\_ID, 24=CUSTOMER\_ACCOUNT |
| 59 | TimeInForce | N | char | 0=Good for day \[Default], 1=Good till cancel, 3=Immediate or cancel, 4=Fill or kill, 6=Good till date |
| 126 | ExpireTime | N | UTCTime | Order expiry date and time for orders where TimeInForce = Good Till Date |
| 1028 | ManualOrderIndicator | N | Boolean | Indicates if the order was initially received manually (as opposed to electronically) |
| 6127 | ConditionTriggerMethod | N | int | The reference price used to trigger the stop order. Applicable to Stop orders only. 2=Last price \[Default], 5=Settlement price. Settlement price may be the preferred trigger method for markets where settlement price is updated frequently from a price oracle. |
| 7928 | SelfMatchPreventionID | N | String | Unique identifier to be returned in the case of a self-match prevention cancellation. The same ID must be present on all orders where self-match prevention is desired. |
| 8000 | SelfMatchPreventionInstruction | C | String | Self-match instruction. O=Cancel oldest (resting) order, N=Cancel newest (aggressive) order |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = F | ||
| 11 | ClOrdID | Y | String | Fresh, participant-generated, unique reference for this OrderCancelRequest. Must be different from the original ClOrdID (11) for the order. |
| 41 | OrigClOrdID | Y | String | The last (participant-generated) ClOrdID (11) reference for the order. This might be from the original NewOrderSingle or prior amends. |
| 55 | Symbol | Y | String | Instrument symbol as indicated on the order. |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 9 | ||
| 11 | ClOrdID | Y | String | Echoed from the OrderCancelRequest |
| 37 | OrderID | Y | String | Will be 'NONE' for unknown orders |
| 39 | OrdStatus | Y | char | Status of the cancellation request. 8=Rejected |
| 41 | OrigClOrdID | Y | String | Echoed from the OrderCancelRequest |
| 58 | Text | Y | String | Free text string providing additional rejection reason |
| 102 | CxlRejReason | Y | int | Reason for the rejection. 0=Too late to cancel, 1=Unknown order, 6=Duplicate ClOrdID, 18=Invalid price increment (tick size), 99=Other |
| 434 | CxlRejResponseTo | Y | char | 1=Order cancel request, 2=Order amend request |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = A | ||
| 98 | EncryptMethod | Y | int | Encrypted messages are not supported. 0=None |
| 108 | HeartBtInt | Y | int | A 30-second interval is recommended |
| 141 | ResetSeqNumFlag | Y | Boolean | Indicates both sides of a FIX session should reset sequence numbers back to 1 during a normal end of session (and not due to an unintended disconnect). Recommended |
| 1137 | DefaultApplVerID | Y | String | Specifies the FIX 5.0 service pack release being applied. 9=FIX50SP2 |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 0 (zero) | ||
| 112 | TestReqID | N | String | Required when the heartbeat is the result of a TestRequest \[1] message |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 1 | ||
| 112 | TestReqID | Y | String | ID to be returned in the resulting Heartbeat \[0] response |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 2 | ||
| 7 | BeginSeqNo | Y | SeqNum | MsgSeqNum (34) of first message in the range to be resent (inclusive) |
| 16 | EndSeqNo | Y | SeqNum | MsgSeqNum (34) of the last message in the range to be resent (inclusive), or "0" to request resend all messages after the indicated BeginSeqNo (7) |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 4 | ||
| 123 | GapFillFlag | N | Boolean | Indicates that the Sequence Reset message is replacing administrative or application messages which will not be resent. |
| 36 | NewSeqNo | Y | SeqNum | New sequence number |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 5 | ||
| 58 | Text | N | String | Free format text string |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = 3 | ||
| 45 | RefSeqNum | Y | SeqNum | The message sequence number being rejected |
| 371 | RefTagID | N | int | The tag (field) number being rejected |
| 373 | SessionRejectReason | N | int | Reason for the rejection. 0=Invalid tag number, 1=Required tag missing, 2=Tag not defined for this message type, 3=Undefined tag, 4=Tag specified without value, 5=Value is incorrect, 6=Incorrect data format for value, 9=CompID problem, 10=SendingTime accuracy problem, 11=Invalid MsgType, 13=Tag appears more than once, 14=Tag specified out of required order, 15=Repeating group fields out of order, 16=Incorrect NumInGroup count, 99=Other |
| 58 | Text | N | String | Optional string to further describe the error |
| \< Standard Trailer > | Y |
| Tag | Name | Req | Type | Description |
|---|---|---|---|---|
| \< Standard Header > | Y | 35 = j | ||
| 45 | RefSeqNum | N | SeqNum | The message sequence number being rejected |
| 58 | Text | N | String | String to further describe the error |
| 372 | RefMsgType | Y | String | The MsgType being rejected |
| 379 | BusinessRejectRefID | N | String | When a FIX gateway rejects a message with a BusinessMessageReject, it provides tag 379 (BusinessRejectRefID) on the BusinessMessageReject and populates it with the ClOrdId or MDReqID to allow FIX clients to quickly determine which message was rejected. |
| 380 | BusinessRejectReason | Y | int | The reason for the rejection. 0=Other, 1=Unknown ID, 2=Unknown Security, 3=Unsupported Message Type, 4=Application Not Available (downtime), 5=Conditionally required field missing, 6=Not authorized, 18=Invalid price increment (tick size) |
| \< Standard Trailer > | Y |