Skip to content
Last updated on

Administrative

Login (35=A)

TAGNAMETYPEREQDESCRIPTION
108HeartBtIntintYHeartbeat interval (seconds).
141ResetSeqNumFlagbooleanNIndicates both sides of the FIX session should reset sequence numbers.
553UsernamestringCSender's public API Key, required on messages going to the exchange.
554PasswordstringCA base64 encoded signature generated using HMAC-SHA-256, required on messages going to the exchange.

Password = base64(HMAC-SHA-256(secret, message))

With message being a concatenation of the following:
SendingTime + MsgType + MsgSeqNum + SenderCompID + TargetCompID + Username

Note: Ensure all parts of the message are converted to strings before encoding.
58TextstringCTo Exchange
A space-separated tag value pair of session configuration parameters applicable for the current session until the next logon.
Supported values include:
CancelOnDisconnect=Y (Cancels all open orders when the session ends)

From Exchange
Additional explanation regarding the Logon response from the exchange.
98EncryptMethodintNMethod of encryption.

No encryption methods are supported, must be set to 0.
1409SessionStatusintCResponse code sent by the exchange indicating the status of the logon:

0 = Session active, logon successful
5 = Invalid API key or signature
6 = Account locked
7 = Logins are not allowed at this time
9 = Received MsgSeqNum(34) is too low.
1137DefaultApplVerIDstringYContains the version of the FIX protocol the exchange uses. Only FIX50SP2 is supported. Supported values: 9.

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.