ZagTrader

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. 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. 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 parser

Questions

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.

Reference

Related errors

All FIX errors · FIX guides