Session-level rejects (35=3)
Invalid MsgType (373=11)
The value of MsgType (35) is not a message type in the receiver's dictionary for this FIX version. The receiver answers with a Reject carrying 373=11 and the type in RefMsgType (372).
What it means
MsgType codes are case sensitive and version specific. 35=D is New Order Single; 35=d is Security Definition. A code added in FIX 4.4, such as 35=AE (Trade Capture Report), does not exist on a FIX 4.2 session.
Do not confuse this with Business Message Reject (35=j) and 380=3 (Unsupported message type). 373=11 means the receiver does not know the type at all; 380=3 means the type is valid FIX but the application does not handle it.
MsgType values beginning with U are reserved for user-defined messages agreed between the two parties.
Common causes
- A message type from a newer FIX version sent on an older session.
- Wrong case in the MsgType.
- A user-defined U message that the counterparty has not added to its dictionary.
How to fix it
On the side that sent the message
- Check the message exists in your session's FIX version.
- Agree any custom message types and their layout with the counterparty first.
On the side that raised the error
- If the type is valid FIX but you do not support it, answer with a Business Message Reject (380=3) instead.
Example
A Trade Capture Report (35=AE) sent on a FIX 4.2 session, where the message does not exist.
1. Sell side: 35=AE on FIX 4.2
8=FIX.4.2|9=137|35=AE|49=SELLSIDE|56=BUYSIDE|34=1200|52=20261020-16:00:00.000|571=TR-0001|55=MSFT|32=1000|31=187.50|75=20261020|60=20261020-16:00:00.000|10=179|
2. Buy side: Reject with 373=11
8=FIX.4.2|9=101|35=3|49=BUYSIDE|56=SELLSIDE|34=210|52=20261020-16:00:00.002|45=1200|372=AE|373=11|58=Invalid MsgType|10=019|
SOH (0x01) is shown as |. BodyLength (9) and CheckSum (10) are calculated as if every | were SOH.
Open this example in the parserQuestions
- Invalid MsgType or Unsupported Message Type: which should I send?
- Send a session Reject with 373=11 if the MsgType is not defined in the FIX version at all. Send a Business Message Reject with 380=3 if it is valid FIX but your application does not process it.