FIX Doctorsupport@fixdoctor.tech
FIX Knowledge Base

FIX Reject Messages Explained

FIX reject messages (MsgType=3) indicate that a message was rejected by the broker or exchange. Understanding reject codes, RefTagID, and SessionRejectReason helps you quickly diagnose and fix FIX protocol issues.

Understanding FIX Reject Structure

A FIX Reject message contains several key fields:

  • RefTagID (371): Identifies the specific tag that caused the rejection
  • RefMsgType (372): The message type that was rejected (e.g., D=NewOrderSingle)
  • SessionRejectReason (373): Numeric code explaining why the message was rejected
  • Text (58): Human-readable description of the rejection

Common SessionRejectReason Codes

CodeDescriptionCommon Causes
5Invalid tag numberTag not recognized, version mismatch
6Required tag missingMandatory field absent (check RefTagID)
10Value is incorrectInvalid enum, out of range, wrong format
11Incorrect data formatTimestamp format, numeric format error

Common Reject Scenarios

Tag 371 Missing ClOrdID

RefTagID=371 indicates ClOrdID (tag 11) was missing from an order message.Learn more →

Reject 102 – Too Late to Cancel

OrderCancelReject with CxlRejReason=102 means the order cannot be canceled because it's already filled or in a terminal state.Learn more →

Analyze Your FIX Rejects

Upload or paste your FIX logs to automatically detect reject messages and understand why orders were rejected.

Analyze FIX Logs

Related Resources