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 | Y | R | 24=Customer Account | Integer (2) | Indicates the related party for which the request is made. |
→ | End Component </RelatedPartyDetail> | |||||
→ | End Component </PartyDetail> | |||||
→ | Component <Entitlement> | Y | Entlmnt | |||
1774 | Entitlement Indicator | Y | Ind | Y=Yes (Unblock) N=No (Block) | Boolean (1) | Indicates if the party is entitled. |
1775 | EntitlementType | Y | Typ | 0=Trade | String (1) | Type of Entitlement. |
1776 | EntitlementID | Y | ID | String(16) | Unique identifier for specific Entitlements repeating group instance. | |
→ | Component <EntitlementAttrib> | Y | Attrib | |||
1778 | EntitlementAttrib Type | Y | Typ | 4000=Side | Integer (4) | Name of additional Entitlement Attribute. |
1780 | EntitlementAttrib Type | Y | Valu | 1=Buy 2=Sell | String (1) | Side of orders to Block or Unblock. |
→ | End Component </EntitlementAttrib> | |||||
→ | Component <InstrumentScope> | Y | InstrmtScope | Scope of the request for specific securities. | ||
1535 | InstrumentScope Operator | Y | Oper | 1=Include | Integer (1) | Operator to perform on the Product Groups specified. |
1545 | InstrumentScope SecurityGroup | O | SecGrp | String (4) | Product Group for which incoming orders are Blocked or Unblocked. If SecGrp is not included, all product groups on the specified Side and Type will be impacted. | |
1547 | InstrumentScope SecurityType | Y | SecTyp | FUT=Futures OPT=Options | String (3) | Security type for which incoming orders are Blocked or Unblocked. |
→ | End Component </InstrumentScope> | |||||
→ | End Component </Entitlement> | |||||
→ | End Component |
Y=Required, N=Not Required, C=Conditional, O=Optional
Party Entitlements Request
The Party Entitlements Request message is used to request order entry authorization information for one or more:
TF and Account combination(s)
TF, all Account(s)
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 | PartyEntitlementsRequest | PtyEntlmnt | String (2) | Defines message type MsgType CU= Party Entitlements Request | ||
1770 | EntitlementRequestID | Y | ReqID | String (16) | Unique identifier for Party Entitlement Request. Does not need to be sequential but must be an ever-increasing number. | |
→ | Component <Parties> | Y | Pty | |||
448 | PartyID | Y | ID | String (12) | Specific value for a specified Party Role. | |
452 | PartyRole | Y | R | 1=Trading Firm 24=Customer Account | Integer (2) | Indicates the party for which the request is being made. R=1 is required in all blocks. If requesting information on all accounts at a TF, only R=1 should be sent. If requesting information on specific account(s) at a TF, both R=1 and R=24 should be sent. |
Y=Required, N=Not Required, C=Conditional, O=Optional
Security List Request
The Security List Request message supports the request of Product Group information:
All Product Groups
All Product Groups on a particular Exchange
All Product Groups on a particular Exchange and Type (futures or options)
Possible RMI API response messages: Security List Response (SecList), Business Message Reject (BizMsgRej).
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | SecurityListRequest | SecListReq | String (1) | Defines message type MsgType x=Security List Request | ||
320 | SecurityRequestID | Y | ReqID | String (16) | Unique identifier of a Security List Request. Does not need to be sequential, but must be an ever increasing number. | |
559 | SecurityListRequestType | Y | ListReqTyp | 100 = All Product Groups 101 = Product Groups by Exchange 102 = Product Groups within specific exchange by Security Type | Integer (3) | Specifies the type of Product Group reference data requested. |
→ | Component <Instrument> | C | Instrmt | Required only if SecurityListRequestType = 101 or 102 | ||
207 | SecurityExchange | C | Exch |
*CMEG-generated, non ISO values for inter-exchange spreads | String (4) | Defines the Exchange for which all Product Groups will be returned. Required only if SecurityListRequestType = 101 or 102 |
167 | SecurityType | C | SecTyp | FUT = Futures OPT = Options | String (3) | Defines the Product Type for which all Product Groups in the security exchange will be returned. Required only if SecurityRequestType = 102 |
→ | End Component |
Y=Required, N=Not Required, C=Conditional, O=Optional
Order Mass Action Request (tag 35-MsgType=CA)
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | OrderMassActionRequest | Y | OrdMassActReq | String | 2 | MsgType=CA |
11 | ClOrdID | Y | CIOrdID | String | 16 | Identifier of Order Mass Action Request. It is recommended that customers send unique identifiers but uniqueness is not enforced by the API. |
1373 | MassActionType | Y | MassActionType | Int | 1 | Specifies the type of action requested. Supported Values: 3 - Cancel Orders |
1374 | MassActionScope | Y | MassActionScope | Int | 3 | Specifies scope of Order Mass Action Request. Supported Values: 100 – All orders for an exchange. 101 – All orders for all exchanges. |
60 | TransactTime | Y | TxnTm | UTCTimestamp | 23 | Timestamp when the business transaction represented by the message occurred. UTC Timestamps are sent in number of nanoseconds since Unix epoch synced to a master clock to microsecond accuracy. |
→ | Component <Parties> | Y | Pty | |||
448 | PartyID | Y | ID | String | 12 | Specific value for a specified Party Role. This value is case sensitive. |
452 | PartyRole | Y | R | Int | 2 | Indicates the party the request is being made for. Supported Values: 1 – Trading Member Firm. 24 – Customer Account. Each incoming Order Mass Action Request can only have one account and one firm. |
→ | End Component </Parties> | |||||
→ | Component <Instrument> | Conditional | Instrmt | |||
207 | SecurityExchange | Conditional | Exch | String | 4 | Needed to specify the product exchange for which all open orders will be cancelled. Required only when Mass Action Scope=100. |
→ | End Component </Instrument> |
From RMI API to Customer
Standard Header – RMI API to Customer
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
→ | Component <StandardHeader> | Hdr | ||||
49 | SenderCompID | Y | SID | CME | String (7) | Sender Company Identifier |
50 | SenderSubID | Y | SSub | RMAPI | String (5) | Sender Sub-Identifier |
56 | TargetCompID | Y | TID | Value provided by CME | String (7) | Target Company Identifier |
Y=Required, N=Not Required, C=Conditional, O=Optional
User Response
The RMI API sends a User Response in response to a User Request message to log on, log off, or ping the RMI API. A User Response is also sent in response to a denied User Request to log on.
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | UserResponse | UserRsp | String (2) | Defines message type MsgType BF=User Response | ||
553 | Username | Y | Username | String (64) | Username (login ID) value sent on the triggering User Request. | |
923 | UserRequestID | Y | UserReqID | Integer (16) | User Request ID value sent on the triggering User Request. | |
926 | UserStatus | Y | UserStat | 1 – Logged In 2 – Not Logged In (Logged off) 3 – User Not Recognized 5 – Password Changed (will be implemented at a later date) 6 – Other 100 – Ping Response | Integer (3) | Indicates the status of the RMI API user. |
927 | UserStatusText | O | UserStatText | String (250) | A text description associated with a user status. |
Y=Required, N=Not Required, C=Conditional, O=Optional
Party Entitlement Definition Request Acknowledgment
The RMI API sends a Party Entitlement Definition Request Acknowledgment in response to a Party Entitlement Definition Request to Block or Unblock order entry for a TF and Account.
The Party Entitlement Definition Request Acknowledgment is sent to indicate that the requested trading authorization changes have been:
Accepted
Accepted with changes
Rejected
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | PartyEntitlement DefinitionReqAck | PtyEntlmntDeReqAck | String (2) | Defines message type MsgType UB = Party Entitlement Definition Request Acknowledgment | ||
1770 | Entitlement RequestID | Y | ReqID | String (16) | ReqID value sent on the triggering Party Entitlement Definition Request. | |
35000 | EntitlementRequest Status | Y | ReqStat | 0=Accepted 1=Accepted with changes 2=Rejected | Integer (1) | Status of Party Entitlement Definition Request |
35001 | EntitlementRequest Result | Y | ReqRslt | 0 – Successful 1 – Invalid party 2 – Invalid related party 3 – Invalid entitlement type 4 – Invalid entitlement ID 5 – Invalid entitlement attribute 6 – Invalid instrument scope 10 – Instrument scope not supported 12 – Entitlement not approved for party 14 – Instrument not approved for party 98 – Not authorized 99 – Other 100 - Number of instrument scopes exceeds the maximum Unblocked count. SentCount=<Number of Security Groups in the message>, UnblockedCount=<Configured max Unblocked number> | Integer (3) | Reports the results of Party Entitlement Definition Request instructions. |
58 | Text | O | Txt | String (250) | Text further explaining the Party Entitlement Definition results. | |
→ | Component <PartyEntitlementsAck> | O | PtyEntlmntAck | This repeating group is returned when the Party Entitlement Definition Request is accepted with changes (ReqStat=”1”) It is not returned for Accepted or Rejected Requests (ReqStat=”0” or “2”) | ||
1324 | ListUpdateAction | Y | ListUpdActn | M=Modify | String (1) | Returns the action required by a Party Entitlement Definition Request. |
35002 | EntitlementStatus | Y | Stat | 0=Accepted 1=Accepted with changes 2=Rejected | Integer (1) | Status of Entitlement Definition for one repeating group. |
35003 | EntitlementResult | Y | Rslt | 0 – Successful 1 – Invalid party 2 – Invalid related party 3 – Invalid entitlement type 4 – Invalid entitlement ID 5 – Invalid entitlement attribute 6 – Invalid instrument scope 10 – Instrument scope not supported 12 – Entitlement not approved for party 14 – Instrument not approved for party 98 – Not authorized 99 – Other 100 - Higher level block supersedes current request 101 – Specific product group cannot be combined with ALL product groups | Integer (3) | Result of Entitlement Definition Request for one repeating group. |
1328 | RejectText | N | RejTxt | String (250) | Text further explaining the Entitlement Definition Request Result for one repeating group. | |
→ | Component <PartyDetail> | O | PtyDetl | This repeating group is returned when the Party Entitlement Definition Request is accepted with changes (ReqStat=”1”) It is not returned for Accepted or Rejected Requests (ReqStat=”0” or “2”) | ||
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 | ReltdPtyDetl | |||
1563 | RelatedPartyID | Y | ID | String (12) | Indicates the Account number | |
1565 | RelatedPartyRole | Y | R | 24=Customer Account | Integer (2) | Indicates the related party for which the request is being made. |
→ | End Component </RelatedPartyDetail> | |||||
→ | End Component <PartyDetail> | |||||
→ | Component <Entitlement> | O | Entlmnt | This repeating group is returned when the Party Entitlement Definition Request is accepted with changes (ReqStat=”1”) It is not returned for Accepted or Rejected Requests (ReqStat=”0” or “2”) Required only if there are active blocks for the Related Party ID. | ||
1774 | Entitlement Indicator | Y | Ind | Y=Yes (Unblock) N=No (Block) | Boolean (1) | Determines if the party is entitled. |
1775 | EntitlementType | Y | Typ | 0=Trade | String (1) | Type of Entitlement. |
1776 | EntitlementID | Y | ID | String(16) | Unique identifier for specific Entitlements repeating group instance. Must be unique for a Party Entitlement Definition Request message. | |
→ | Component <EntitlementAttrib> | Y | Attrib | This repeating group is returned when the Party Entitlement Definition Request is accepted with changes (ReqStat=”1”) It is not returned for Accepted or Rejected Requests (ReqStat=”0” or “2”) | ||
1778 | EntitlementAttrib Type | Y | Typ | 4000=Side | Integer (4) | Name of additional Entitlement Attribute. |
1780 | EntitlementAttrib Type | Y | Valu | 1=Buy 2=Sell | String (1) | Side of orders to Block or Unblock. |
→ | End Component </EntitlementAttrib> | |||||
→ | Component <InstrumentScope> | Y | InstrmtScope | Scope of the request for specific securities. This repeating group is returned when the Party Entitlement Definition Request is accepted with changes (ReqStat=”1”). It is not returned for Accepted or Rejected Requests (ReqStat=”0” or “2”). | ||
1535 | InstrumentScope Operator | Y | Oper | 1=Include | Integer (1) | Operator to perform on the Product Groups specified. |
1545 | InstrumentScope SecurityGroup | C | SecGrp | String (4) | Product Group for which incoming orders are Blocked or Unblocked. Required if SecGrp was defined on the inbound Party Entitlement Definition Request. | |
1547 | InstrumentScope SecurityType | Y | SecTyp | FUT=Futures OPT=Options | String (3) | Type of security for which incoming orders are Blocked or Unblocked. |
→ | End Component </InstrumentScope> | |||||
→ | End Component </Entitlement> | |||||
→ | End Component </PartyEntitlementsAck> |
Y=Required, N=Not Required, C=Conditional, O=Optional
Party Entitlements Report
The RMI API sends a Party Entitlements Report in response to a Party Entitlements Request. The Party Entitlements Report returns information on the currently active Block instructions for one or more:
TF and Account combination(s)
TF, all Account(s)
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | PartyEntitlementsReport | PtyEntlmntRpt | String (2) | Defines message type MsgType CV = Party Entitlements Report | ||
1771 | EntitlementReportID | Y | RptID | String (20) | Unique identifier for Party Entitlements Report. | |
1770 | EntitlementRequestID | Y | ReqID | String (16) | ReqID value sent on the triggering Party Entitlements Request | |
1511 | RequestResult | Y | ReqRslt | 0=Successful 1=Invalid Party 98=Not authorized 99=Other | Integer (3) | Result of Party Entitlement Request. |
→ | Component <PartyEntitlement> | Y | PtyEntlmnt | |||
→ | Component <PartyDetail> | Y | PtyDetl | Returned only if there are active blocks for the Related Party ID. | ||
448 | PartyID | Y | ID | String (3) | Specific value for a specified Party Role. | |
452 | PartyRole | Y | R | 1=Trading Firm | Integer (1) | |
→ | Component <RelatedPartyDetail> | O | ReltdPtyDetl | Returned only if there are active blocks for the Related Party ID. | ||
1563 | RelatedPartyID | N | ID | String (12) | Specific value for a specified Related Party Role. | |
1565 | RelatedPartyRole | N | R | 24=Customer Account | Integer (2) | Indicates the related party for which the request is made. |
→ | End Component </RelatedPartyDetail> | |||||
→ | End Component </PartyDetail> | |||||
→ | Component <Entitlement> | O | Entlmnt | Required only if there are Active Instructions for the Related Party ID. | ||
1774 | EntitlementIndicator | Y | Ind | Y=Yes (Unblock) N=No (Block) | Boolean (1) | Determines if the party is Unblocked to enter orders. |
1775 | EntitlementType | Y | Typ | 0=Trade | String (1) | Type of Entitlement |
→ | Component <EntitlementAttrib> | O | Attrib | Required only if there are Active Instructions for the Related Party ID. | ||
1778 | EntitlementAttribType | Y | Typ | 4000=Side | Integer (4) | Name of additional Entitlement Attribute. |
1780 | EntitlementAttribValue | Y | Valu | 1=Buy 2=Sell | String (1) | Side of orders to Block or Unblock. |
→ | End Component </EntitlementAttrib> | |||||
→ | Component <InstrumentScope> | O | InstrmtScope | Scope of the request for specific securities. Required only if there are Active Instructions for the Related Party ID. | ||
1535 | InstrumentScopeOperator | Y | Oper | 1=Include | Integer (1) | Operator to perform on the Product Groups specified. |
1545 | InstrumentScopeSecurityGroup | Y | SecGrp | String (4) | Product Group for which incoming orders are Blocked or Unblocked. | |
1547 | InstrumentScopeSecurityType | Y | SecTyp | FUT=Futures OPT=Options | String (3) | Type of security for which incoming orders are Blocked or Unblocked. |
→ | End Component </InstrumentScope> | |||||
→ | End Component </Entitlement> | |||||
→ | End Component </PartyEntitlement> |
Y=Required, N=Not Required, C=Conditional, O=Optional
Security List Response
The RMI API sends a Security List Response in response to a Security List Request.
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | SecurityList | SecList | String (1) | Defines message type MsgType y = Security List Response | ||
964 | SecurityReportID | Y | RptID | String (20) | Unique identifier of a Security List Response. | |
1470 | SecurityListType | Y | ListTyp | 100 = All Product Groups 101 = Product Groups by Exchange 102 = Product Groups within specific exchange by Security Type | Integer (3) | Repeats back the security list request type (ListReqTyp). |
320 | SecurityRequestID | Y | ReqID | Integer (16) | ReqID value sent on the triggering Security List Request | |
560 | SecurityRequestResult | Y | ReqRslt | 0 = Valid request 1 = Invalid or unsupported request 2 = No instruments found that match selection criteria 3 = Not authorized to retrieve instrument data 4 = Instrument data temporarily unavailable | Integer (1) | Returns feedback based on the request. |
58 | Text | O | Txt | String (250) | Text further explaining the SecurityRequestResult. | |
→ | Component <SecListGrp> | C | SecL | Only returned when ReqRslt=0 | ||
→ | Component <Instrument> | Y | Instrmt | |||
207 | SecurityExchange | Y | Exch | String (4) | Returned only if sent on the triggering Security List Request. Identifies the exchange for which All Product Groups will be returned. | |
167 | SecurityType | C | SecTyp | String (3) | Returned only if sent on the triggering Security List Request. Identifies the Product Type for which All Product Groups in the exchange are returned. | |
1151 | SecurityGroup | Y | SecGrp | String (4) | List of product groups that match Security List Request parameters. | |
→ | End Component </Instrument> | |||||
→ | End Component </SecListGrp> |
Y=Required, N=Not Required, C=Conditional, O=Optional
Business Reject Message
The RMI API will return a Business Reject Message when the CMF’s inbound message is malformed, including:
Incorrect header information
Message type not recognized or supported
Required elements and/or values missing
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | BusinessMessageReject | Y | BizMsgRej | String | 1 | MsgType=j |
372 | RefMsgType | Y | RefMsgTyp | String | 2 | The MsgType (35) of the FIXML message being rejected. |
379 | BusinessRejectRefID | Y | BizRejRefID | String | 16 | The value of the business-level "ID" field on the message being referenced. |
380 | BusinessRejectReason | Y | BizRejRsn | Int | 1 | Code to identify reason for a business reject message. Supported Values: 0 – Other 1 – Unknown ID 2 – Unknown Security Group 3 – Unsupported message type 4 – Application not available 5 – Conditionally required field is missing 6 – Not Authorized 100 – Request accepted but unable to construct response 101 – Request timed out 102 – Invalid Exchange 103 – Only one customer account allowed 104 – Only one executing firm allowed 105 – Only one security exchange allowed 106 – Mismatch between mass action scope and security exchange |
58 | Text | Optional | Txt | String | 250 | Reason for rejection. |
Y=Required, N=Not Required, C=Conditional, O=Optional
Order Mass Action Report (tag 35-MsgType=BZ)
Tag | Field Name | Req | FIXML Element | Valid Values | Format | Description |
---|---|---|---|---|---|---|
35 | OrderMassActionReport | Y | OrdMassActRpt | String | 2 | MsgType=BZ |
11 | ClOrdID | Y | CIOrdID | String | 16 | Pancake flip of the ClientOrder ID provided on the incoming Order Mass Action Request message. |
1369 | MassActionReportID | Y | MassActionReportID | String | 20 | Unique ID of Order Mass Action Report as assigned by RMI API. |
1373 | MassActionType | Y | MassActionType | Int | 3 | Specifies the type of action requested. This is a pancake flip of the incoming value provided on the Order Mass Action Request message. |
1374 | MassActionScope | Y | MassActionScope | Int | 3 | Specifies the scope of the Action – this is a pancake flip of the incoming value provided on the Order Mass Action Request message. |
1375 | MassActionResponse | Y | MassActionResponse | Int | 1 | Specifies the action taken by RMI API when it receives the Order Mass Action Request. Supported Values: 1 – Accepted. |
1376 | MassActionReject Reason | Conditional | MassActionRejectReason | Int | 3 | Reason Order Mass Action Request was rejected. Required if Mass Action Response=0. Supported Values: 99 – Other |
58 | Text | Optional | Txt | String | 250 | Text further explaining the Party Entitlement Definition Request Result. |
→ | Component <Parties> | Y | Pty | |||
448 | PartyID | Y | ID | String | 12 | Specific value for a specified Party Role. |
452 | PartyRole | Y | R | Int | 2 | Indicates the party the request is being made for. Supported Values: 1 – Trading Member Firm 24 – Customer Account |
→ | End Component </Parties> | |||||
→ | Component <Instrument> | Y | Instrmt | |||
207 | SecurityExchange | Y | Exch | String | 4 | Specifies the exchange requested for which orders are to be cancelled. This is a flip of the incoming value unless it is missing or null in which case it will not be sent. |
→ | End Component </Instrument> |
All risk management services are offered by CME Group on a best-efforts basis. Clearing Member Firm (CMF) Risk Administrators only have access to the Execution Firms and Exchanges that they guarantee. Any attempt to take action on an Executing Firm and Exchange assigned to a different CMF will be rejected.
How was your Client Systems Wiki Experience? Submit Feedback
Copyright © 2024 CME Group Inc. All rights reserved.