Logon  (MsgType = A)

The logon message authenticates a user establishing a connection to a remote system. The logon message must be the first message sent by the application requesting to initiate a FIX session.

The HeartBtInt (108) (108) field is used to declare the timeout interval for generating heartbeats (same value used by both sides). The HeartBtInt (108) value should be agreed upon by the two firms and specified by the Logon (A) initiator and echoed back by the Logon (A) acceptor.

Upon receipt of a Logon (A) message, the session acceptor will authenticate the party requesting connection and issue a Logon (A) message as acknowledgment that the connection request has been accepted. The acknowledgment Logon (A) can also be used by the initiator to validate that the connection was established with the correct party.

The session acceptor must be prepared to immediately begin processing messages after receipt of the Logon. The session initiator can choose to begin transmission of FIX messages before receipt of the confirmation Logon, however it is recommended that normal message delivery wait until after the return Logon (A) is received to accommodate encryption key negotiation.

The confirmation Logon (A) can be used for encryption key negotiation. If a session key is deemed to be weak, a stronger session key can be suggested by returning a Logon (A) message with a new key. This is only valid for encryption protocols that allow for key negotiation. (See the FIX Web Sites Application notes for more information on a method for encryption and key passing.)

The Logon (A) message can be used to specify the MaxMessageSize (383) supported (i.e. can be used to control fragmentation rules for very large messages which support fragmentation). It can also be used to specify the MsgTypes supported for both sending and receiving.


Tag Field Name Req'd Comments
<Standard Message Header> Y MsgType = A
98 EncryptMethod Y (Always unencrypted)
108 HeartBtInt Y Note same value used by both sides
95 RawDataLength N Required for some authentication methods
96 RawData N Required for some authentication methods
141 ResetSeqNumFlag N Indicates both sides of a FIX session should reset sequence numbers
789 NextExpectedMsgSeqNum N Optional, alternative via counterparty bi-lateral agreement message gap detection and recovery approach (see "Logon Message NextExpectedMsgSeqNum (789) Processing" section)
383 MaxMessageSize N Can be used to specify the maximum number of bytes supported for messages received
384 NoMsgTypes N Specifies the number of repeating RefMsgTypes specified
=> 372 RefMsgType N Specifies a specific, supported MsgType. Required if NoMsgTypes (384) is > 0. Should be specified from the point of view of the sender of the Logon (A) message
=> 385 MsgDirection N Indicates direction (send vs. receive) of a supported MsgType. Required if NoMsgTypes (384) is > 0. Should be specified from the point of view of the sender of the Logon (A) message
=> 1130 RefApplVerID N Specifies the service pack release being applied to a message at the session level. Enumerated field with values assigned at time of service pack release
=> 1131 RefCstmApplVerID N Specifies a custom extension to a message being applied at the session level.
464 TestMessageIndicator N Can be used to specify that this FIX session will be sending and receiving "test" vs. "production" messages.
553 Username N
554 Password N Note: minimal security exists without transport-level encryption.
1137 DefaultApplVerID Y The default version of FIX being carried over this FIXT session
<Standard Message Trailer> Y