CME Group aims to provide a smooth onboarding process for clients to begin using the Margin Service API.
During the onboarding process and with CME Group’s permission, the client may use CME Group’s testing environment to establish connectivity and verify the proper function of the API calling application. CME Group staff works with the client throughout this process to verify that the API is being built and used in a stable and successful way, consistent with the expected use of the Margin Service API.
API Endpoints and Data Structure
For detailed information about the available Margin Service endpoints and the data structure used for each, please consult this Margin Service API, which includes a summary of features and schema content.
This table includes the endpoints to use for testing.
For details on accessing Futures Compression service test endpoints, please reach out to firstname.lastname@example.org.
API Testing & Certification
Please reach out to email@example.com to discuss licensing and testing the API.
Once entitled, to initiate a session with the API, make an initial request, passing in the username and password parameters within the HTTP request headers. These credentials must be those of a valid CME CORE UI user ID/CME Group Login ID, please contact support to be permissioned for the API. See Authentication and Entitlement for full details.
CME Group strongly recommends that clients utilize the CME Group API testing environment for the development and stabilization of their API calling mechanism(s). Use the test API in as similar of a fashion as possible to mirror the API usage expected in production.
Perform testing on normal business days between Sunday 5 pm CT until Friday 10 pm CT.
The production API and GUI is periodically down for deployments from Friday 4:30 PM CT - Sunday 5 PM CT
The API test environment is periodically down for maintenance from11 - 4 5 AM CT - 12:00 PM CT on Tuesdays or Wednesdays.
CME Group recommends testing the following metrics in the test environment before becoming certified and accessing production:
For each Request Type, execute Put, Post, Get, Delete functions, where applicable, across all endpoints
0 errors are returned for each API call, specific to each product
For each Product Type, execute margin requests for each product type
There should be 0 validation errors encountered.
Verify delta ladders are being used over IRS requests when appropriate
Verify the appropriate amount of authentications calls is being performed
No more than 1 authentication call per second
Verify the appropriate call frequency is being observed
<See load limit table below for details>
The Margin Service API test infrastructure does not have the available bandwidth that the production environment has. Throughout the onboarding process, any API calls into the test infrastructure must be limited. CME supports load testing and requests that any users work directly with CME Group to set up a load testing session.
The limits are set specific to each of these areas and only apply in the New Release enviornment:
API Call Type
Get Margin Endpoint
Any Other ‘Get’ Endpoint
Frequency Limit of API Calls
< 1 Call / 5 Seconds
< 1 Call / Second
< 2 Calls/Second
< 2 Calls/Second
< 2 Calls/Second
Authentication calls should be no more frequent than 1 call / second to establish a session.
Margin Service API supports multiple concurrent schemas that are backwards compatible. It is best practice to specify the version in the URL to get the response in that schema. If the version is not specified, the latest version is used.The Margin Service API supports multiple formats for transaction payloads. The API utilizes a custom XML language for requests and responses, which can contain contents in various formats, including industry standard XML formats such as FIXML (following FIXML 5.0 SP2), FpML (based on FpML 5.4 specifications), and CSV as transaction formats.
It is best practice to leverage the CSV format as the message payload, which offers a performance boost in loading and deserialization times compared to FPML format. See sample .CSV requests.