Risk Management Interface Message Specification
This topic provides the message layout for the tags used for messages sent between the Risk Management Interface (RMI) API and Clearing Member Firms’ automated risk systems. The messages in this specification are the basis of the functionality described in Risk Management Interface API.
- 1 Common Elements
- 2 From Customer to RMI API
- 2.1 Standard Header – Customer to RMI API
- 2.2 User Request – Log on and Log off for Session-Based Connections
- 2.3 User Request – Ping for Session-Based Connections
- 2.4 User Request – Ping for Session-Less Connection
- 2.5 Party Entitlement Definition Request
- 2.6 Party Entitlements Request
- 2.7 Security List Request
- 2.8 Order Mass Action Request (tag 35-MsgType=CA)
- 3 From RMI API to Customer
Common Elements
RMI Acronyms
Acronym | Description |
|---|---|
API | Application Programming Interface |
CMF | Clearing Member Firm |
FIXML | XML representation of business content of FIX messages |
RMI | Risk Management Interface |
TF | Trading Firm |
RMI API FIXML Element Types
The table below details FIXML elements that are used in the RMI API messages.
String | Alpha-numeric free format strings can have any character or punctuation except the delimiter |
|---|---|
Element Type | Description |
Integer | Sequence of digits without commas or decimals and optional sign character (ASCII characters “-“ and “0” – “9”). The sign character uses one byte (i.e., positive integer is “99999” and negative integer is “-99999”). Note that integer values may contain leading zeros (e.g., “00023”=23). Examples: 723 in field 21 would be mapped integer as |21=723| -723 in field 12 would be mapped integer as |12=-723| |
Boolean | Character field that contains one of the following values: “Y” – Yes/True “N” – No/False |
Sequence Number | Integer field that represents a message sequence number. The sequence number value must be positive. |
Number in Group | Integer field that represents the number of entries in a repeating group. |
Character | Single character value that can include any alpha-numeric character or punctuation except the delimiter. All characters are case-sensitive. |
FIXML Root Element
The FIXML root element <FIXML> contains the attributes that define the version of the message. The FIXML root element is defined in the fixml-components-base schema file.
Attribute | Description | Format | Value |
|---|---|---|---|
v | FIX version | N.N | "FIX.5.0SP2" |
xv | FIX extension pack number | EPN | 130 |
cv | Custom Application Version | CME.NNNN |
|
s | schema release | YYYYMMDD | "2010-11-16" |
xmlns | Default FIXML Namespace | Valid URL |
From Customer to RMI API
RMI API supports both session-based and session-less connections.
Session-less HTTP customers must embed their CME Group-assigned RMI API username and password in the standard HTTP header of every RMI API message for authentication. The header must contain “username:password” converted to base64, for example: ‘dXNlcm5hbWU6cGFzc3dvcmQ=’
The '→' symbol indicates a repeating tag group.
Standard Header – Customer to RMI API
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
|---|---|---|---|---|---|---|
→ | Component <StandardHeader> |
| Hdr |
|
|
|
49 | SenderCompID | Y | SID | Value provided by CME | String (7) | Sender Company Identifier |
56 | TargetCompID | Y | TID | CME | String (7) | Target Company Identifier |
57 | TargetSubID | Y | TSub | RMAPI | String (5) | Target Sub-Identifier |
Y=Required, N=Not Required, C=Conditional, O=Optional
User Request – Log on and Log off for Session-Based Connections
RMI API supports both session-based and session-less connections.
CMFs that choose to leverage session-based connections begin their session by sending a User Request to log in to the RMI API. Session-based connections are closed out by sending a User Request to log off from the RMI API.
Session-based HTTP customers must use the FIXML Application-level Username and Password elements as detailed below.
Possible RMI API response messages: User Response (UserRsp), Business Message Reject (BizMsgRej).
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
|---|---|---|---|---|---|---|
35 | UserRequest | Y | UserReq |
| String (2) | Defines message type MsgType BE = User Request |
553 | Username | Y | Username |
| String (64) | Username (login ID) assigned by CME Group |
554 | Password | C | Password |
| String (32) | Password assigned by CME Group. Required for log on. Not required for log off. |
923 | UserRequestID | Y | UserReqID |
| String (16) | Unique identifier for a User Request. Does not need to be sequential, but must be an ever-increasing number. |
924 | UserRequestType | Y | UserReqTyp | 1 = Log On User 2 = Log Off User 100 = Ping Request | String (3) | Indicates the action required by a User Request Message. |
Y=Required, N=Not Required, C=Conditional, O=Optional
User Request – Ping for Session-Based Connections
Customers may send a User Request to ping a session-based connection. The receipt of a User Response in return confirms that the session is active and ready.
Possible RMI API response messages: User Response (UserRsp), Business Message Reject (BizMsgRej).
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
|---|---|---|---|---|---|---|
35 | UserRequest | Y | UserReq |
| String (2) | Defines message type MsgType BE = User Request |
553 | Username | Y | Username |
| String (64) | Username (login ID) assigned by CME Group |
554 | Password | N | Password |
| String (32) | Password assigned by CME Group. |
923 | UserRequestID | Y | UserReqID |
| String (16) | Unique identifier for a User Request. Does not need to be sequential, but must be an ever-increasing number. |
924 | UserRequestType | Y | UserReqTyp | 1 = Log On User 2 = Log Off User 100 = Ping Request | String (3) | Indicates the action required by a User Request Message. |
Y=Required, N=Not Required, C=Conditional, O=Optional
User Request – Ping for Session-Less Connection
Customers may send a User Request to ping a session-less connection. The receipt of a User Response in return confirms that RMI API is available.
Possible RMI API response messages: User Response (UserRsp), Business Message Reject (BizMsgRej).
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
|---|---|---|---|---|---|---|
35 | UserRequest | Y | UserReq |
| String (2) | Defines message type MsgType BE = User Request |
553 | Username | Y | Username |
| String (64) | Username (login ID) assigned by CME Group |
554 | Password | N | Password |
| String (32) | Password assigned by CME Group. |
923 | UserRequestID | Y | UserReqID |
| String (16) | Unique identifier for a User Request. Does not need to be sequential, but must be an ever-increasing number. |
924 | UserRequestType | Y | UserReqTyp | 1 = Log On User 2 = Log Off User 100 = Ping Request | String (3) | Indicates the action required by a User Request Message. |
Y=Required, N=Not Required, C=Conditional, O=Optional
Party Entitlement Definition Request
The table below lists the tags sent by the CMF automated risk management system to Block or Unblock order entry for a TF and Account on the following parameters:
Product Type (Futures or Options)
Side (Buy or Sell)
Optional: Product Group
Possible RMI API response messages: Party Entitlement Definition Request Ack (PtyEntlmntDefReqAck), Business Message Reject (BizMsgRej).
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
|---|---|---|---|---|---|---|
35 | PartyEntitlement DefinitionRequest |
| PtyEntlmntDefReq |
| String (2) | Defines message type MsgType DA = Party Entitlement Definition Request |
1770 | Entitlement RequestID | Y | ReqID |
| String (16) | Unique identifier for Party Entitlement Definition Request. Does not need to be sequential but must be an ever increasing number. |
→ | Component <PartyEntitlementsUpdate> | Y | PtyEntlmnt Upd |
|
|
|
1324 | ListUpdateAction | Y | ListUpdActn | M=Modify | String (1) | Indicates the action required by a Party Entitlement Definition Request. |
→ | Component <PartyDetail> | Y | PtyDetl |
|
|
|
448 | PartyID | Y | ID |
| String (3) | Indicates the Trading Firm number |
452 | PartyRole | Y | R | 1=Trading Firm | Integer (1) | Indicates the party for which the request is made. |
→ | Component <RelatedPartyDetail> | Y | ReltedPtyDetl |
|
|
|
1563 | RelatedPartyID | Y | ID |
| String (12) | Indicates the Account number |
1565 | RelatedPartyRole |
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.