Skip to main content

Administrative

Log on, keep the session alive, recover sequence gaps and log out. Every session, whether order entry, market data or drop copy, uses these messages.

Logon (35=A)​

TAGNAMETYPEREQDESCRIPTION
108HeartBtIntintYHeartbeat interval (seconds).
141ResetSeqNumFlagbooleanNIndicates both sides of the FIX session should reset sequence numbers.
553UsernamestringYYour API key id.
554PasswordstringYA base64 encoded signature generated using HMAC-SHA-256.Password = base64(HMAC-SHA-256(secret, message))With message being a concatenation of the following:SendingTime + MsgType + MsgSeqNum + SenderCompID + TargetCompID + UsernameNote: Ensure all parts of the message are converted to strings before encoding.
58TextstringCTo ExchangeA space-separated tag value pair of session configuration parameters applicable for the current session until the next logon.Supported values:
  • CancelOnDisconnect=Y or N: cancel all open orders when the session ends. Off unless you set it.
  • SelfTradePrevention=1 or 3: the session's default self-trade prevention.
Any other key rejects the Logon.
98EncryptMethodintYMethod of encryption. No encryption methods are supported; set it to 0.
1137DefaultApplVerIDstringYContains the version of the FIX protocol the exchange uses. Only FIX50SP2 is supported. Supported values: 9.

The exchange answers a successful Logon with a Logon carrying HeartBtInt (108) and DefaultApplVerID (1137), and adopts the HeartBtInt you sent. A failed Logon gets a Reject (35=3) and the connection closes.

SendingTime (52) on every message must be no more than 5 seconds behind the exchange clock. A message older than that gets a Reject (35=3) with SessionRejectReason 10, SendingTime accuracy problem.

BusinessReject (35=j)​

TAGNAMETYPEREQDESCRIPTION
45RefSeqNumintYThe MsgSeqNum of the referenced message that was rejected.
372RefMsgTypeintYThe message type that this business-level reject message applies to:
  • A: Logon
  • 0: Heartbeat
  • 1: TestRequest
  • D: NewOrderSingle
  • F: OrderCancelRequest
  • G: OrderCancelReplaceRequest
379BusinessRejectRefIDstringYThe value of the business-level "ID" field on the message being referenced.
380BusinessRejectReasonintNA code indicating the reason for the reject.
58TextstringYA message explaining why the message was rejected.

Heartbeat (35=0)​

TAGNAMETYPEREQDESCRIPTION
112TestReqIdstringCUnique identifier passed in the corresponding tag of a TestRequest. Required only when responding to a TestRequest message.

TestRequest (35=1)​

TAGNAMETYPEREQDESCRIPTION
112TestRequestIDstringYA unique identifier specified by the sender that must be provided back in the response.

ResendRequest (35=2)​

TAGNAMETYPEREQDESCRIPTION
7BeginSeqNointYMessage sequence number of first message in range to be resent.
16EndSeqNointYMessage sequence number of last message in range to be resent.If request is for a single message then BeginSeqNo (7) = EndSeqNo.If request is for all messages subsequent to a particular message, EndSeqNo = 0 (representing infinity).

Reject (35=3)​

TAGNAMETYPEREQDESCRIPTION
45RefSeqNumintYSequence number of the rejected message.
371RefTagIdintCFIX tag of the message contributing to the reject.
372RefMsgTypestringCMessage type of the rejected message.
373SessionRejectReasonintCA code to describe the reason for the reject.
58TextstringCAdditional explanation for the reject.

SequenceReset (35=4)​

TAGNAMETYPEREQDESCRIPTION
123GapFillFlagbooleanCIndicates a sequence gap during replay due to administrative messages that will not get resent.
36NewSeqNointYThe new sequence number to start using.

Logout (35=5)​

TAGNAMETYPEREQDESCRIPTION
1409SessionStatusintCA code indicating the cause of the FIX session logout.
58TextstringCAdditional text describing context behind the logout.

Next: Common components, the header, trailer and party group every message carries.