Session
MESSAGE SPECIFICATION
This section details the session management messages supported by the exchange.
Logon (MsgType = A)
The Logon message (A) authenticates a user establishing a connection to a remote system.
The Logon (A) message must be the first message sent by the application requesting to initiate a FIX session.
Possible Exchange’s response messages: Logon (MsgType=A), Logout (MsgType=5) or Reject – Session Level (MsgType = 3)
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
98 | EncryptMethod | Y | 0 = None | Int | Method of encryption. |
108 | HeartBtInt | Y | >= 10 | Int | Heartbeat interval in seconds. |
553 | Username | N |
| String | Username. Provided by the exchange. |
554 | Password | N |
| String | Password. Provided by the exchange. |
1137 | DefaultApplVerID | Y | 9 = FIX50SP2 | String | The default version of FIX being carried over this FIXT session. |
Standard Trailer | |||||
Heartbeat (MsgType = 0)
The Heartbeat (0) monitors the status of the communication link and identifies when the last of a string of messages was not received.
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
112 | TestReqID | C |
| String | Required if heartbeat message is generated in response to a Test Request message. |
Standard Trailer | |||||
Test Request (MsgType = 1)
The test request message forces a heartbeat from the opposing application.
The test request message checks sequence numbers or verifies communication line status.
The opposite application responds to the Test Request with a Heartbeat containing the TestReqID(112).
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
112 | TestReqID | Y |
| String | Identifier included in Test Request message to be returned in resulting Heartbeat. |
Standard Trailer | |||||
Resend Request (MsgType = 2)
The resend request is sent by the receiving application to initiate the retransmission of messages.
This function is utilized if a sequence number gap is detected, if the receiving application lost a message, or as a function of the initialization process.
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
7 | BeginSeqNo | Y | Valid sequence number for session | Int | Message sequence number of first message in range to be resent. |
16 | EndSeqNo | Y |
| Int | Message sequence number of last message in range to be resent. |
Standard Trailer | |||||
Reject – Session Level (MsgType = 3)
The FIX Reject message should be issued when a message is received but cannot be properly processed due to a session-level rule violation.
This message will be sent by the Exchange when a session level error has occurred.
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
45 | RefSeqNum | Y |
| Int | Reference message sequence number (MsgSeqNum) of rejected message. |
58 | Text | N |
| String | Where possible, message to explain reason for rejection. |
371 | RefTagID | N |
| Int | The tag number of the FIX field being referenced. |
372 | RefMsgType | N |
| String | The MsgType of the FIX message being referenced. |
373 | SessionRejectReason | N | 0 = Invalid tag number | Int | Code to identify reason for a session-level reject message. The server will report the reason for rejection in all messages. |
Standard Trailer | |||||
Example Test Request message:
8=FIXT.1.1|9=107|35=3|34=423|49=ROFX|52=20251007-20:21:29.922|56=Client_A|45=349|58=Required tag missing|371=16|372=2|373=1|10=250|
Sequence Reset (MsgType = 4)
The Sequence Reset message has two modes: Gap Fill mode and Reset mode.
Gap Fill mode is used in response to a FIX Resend Request when one or more messages must be skipped.
Reset mode involves specifying an arbitrarily higher new sequence number to be expected by the receiver of the FIX Sequence Reset message, and is used to reestablish a FIX session after an unrecoverable application failure.
Possible Exchange’s response messages: None.
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
36 | NewSeqNo | Y |
| Int | New sequence number. |
123 | GapFillFlag | N | Y = Gap Fill message, MsgSeqNum field is valid | Boolean | Indicates that the Sequence Reset message is replacing administrative or application messages, which will not be resent. |
Standard Trailer | |||||
Logout (MsgType = 5)
The FIX Logout message initiates or confirms the termination of a FIX session. Disconnection without the exchange Logout messages should be interpreted as an abnormal condition.
Tag | FixName | Req | Valid Values | Data Type | Description |
|---|---|---|---|---|---|
Standard Header | |||||
58 | Text | N |
| String | Free format text string |
1128 | ApplVerID | N | 9 = FIX50SP2 | String | The default version of FIX used bu exchange. |
1409 | SessionStatus | N | 0 = SESSION_ACTIVE | Int |
|
Standard Trailer | |||||
Message sequence diagram
Case successful logon
Diagram:
Example messages:
Case failed logon
Diagram:
Example messages: