FIXML Message Elements and Attributes
Messages are comprised of elements, which may be non-repeating or repeating. Elements contain Attributes that define the trade characteristics.
- Repeating Elements are indicated by "(repeating)" in the gray highlighted Element definition row.
- Some Elements, such as Instrument (Instrmt), have a large number of attributes, and are therefore allocated their own page.
- The first defined Element level on any specification page is considered the highest level for that page. Elements may have sub-elements on the same page, as indicated by an arrow (→) preceding the field name.
- A sub-element one level down contains an arrow preceding it in the field name, for example:
→ Sender ID
Elements two levels down will have two preceding arrows:
→→ Leg Underlying Product Code
- The highest level on any page will not be preceded by an arrow, though it may still be a sub-element. For example, Instrument is a sub-element of Trade Capture Report Message, but because it is the highest level for that page, the Field Names will not be preceded by an arrow.
The order of attributes within elements is subject to change.
Required FIXML Element Attributes
The following attributes must be included on the FIXML element of each message sent to the CME STP, and will appear on all FIXML messages sent by the API.
FIX Version Number
Indicates the version of FIX being used (including Service Pack).
Schema Release Date
Indicates the release date of the FIXML Schema.
FIXML Extension Version
Indicates the FIX Extension version.
Custom Application Version
Indicates the Custom Application version.
All FIXML messages or
Batch containers must include a Standard Header with the following four required fields. The following table indicates fields sent on messages from the user to the API. When responding to the user, the API will swap
Sender Comp ID
Indicates the sender of the message. Generally a firm level identifier.
|Assigned by CME|
Target Comp ID
|Indicates the recipient of the message. This value is always CME for inbound messages.|
Sender Sub ID
Indicates the sender entity. This value must match the username sent via HTTP Basic authentication, and must be in all uppercase letters.
|Assigned by CME|
Target Sub ID
|Indicates the recipient entity. This value is always STP for inbound messages.|
CME STP returns trades (FIXML Trade Capture Report messages) to HTTP clients by encapsulating a single Standard Header followed by zero or more Trade Capture Report messages within the
/FIXML/Batch element. The Trade Capture Report messages themselves will not contain
Hdr elements themselves. CME STP may send an empty Batch, containing a
Hdr but no
TrdCaptRpt messages, either because a Query returned no results, or because no new activity occurred for a Subscription. However, in the case of an empty batch for a Subscription, the user must still extract the token and use it in subsequent requests.
A batch can return a maximum of 250 Trade Capture Report messages.
The Input Source field in the Trade Capture Report/RptSide block indicates the original system from which the trade originated. CME Clearing will treat this as a pass through field on cleared trade confirmations.
Example values include:
- BRKR – Broker submission into FEC via UI or API, applicable to NY floor only.
- CPC – CME ClearPort UI.
- DLV - Delivery transfer. Represents the monthly delivering into a strip of individual daily positions and the transfer to establish the open position on the books of the firm or client.
- GLBX, GBX – CME Globex.
- FIRM – Clearing firm submission into FEC via UI or API.
- HHT – CME handheld floor device, applicable to Chicago floor only.
- OREC – Floor order routing e-Clerk, applicable to Chicago floor only.
Other values not listed above may be used for platform systems.