CME Globex Order Entry Web Service APIs
Clients now have access to CME Group futures and options on the new Order Entry suite of APIs - Hosted by Google Cloud. This solution is accessible over the public internet without the commitment of leased line or colocation investments. RESTful and WebSocket APIs with full order routing and instrument creation functionality deliver real-time trading and market access. This lightweight product is optimized for the needs of less latency sensitive traders and algorithms, while still offering fulsome functionality and utilizing the full suite of CME Globex risk and credit controls.
The OE APIs are made up of two Web Service APIs; RESTful and WebSocket. These APIs support:
Contents
Date | Description |
---|---|
October 30, 2024 | Key Events and Dates Production date updated to "To Be Announced". |
April 22, 2024 | Updated Message Spec table |
April 1, 2024 | Updated Key Events and Request Throttles |
March 27, 2024 | Updated Production Milestone Date |
February 21,2024 | Updated Web Socket API table |
December 14, 2023 | Added FAK/FOK and Stop Order content |
November 28, 2023 | Message Specification Websocket Connection update |
November 27, 2023 | Updated Product and Instrument Referential Data section |
October 30, 2023 | Initial Release |
Include all necessary milestones. Delete any unnecessary milestones.
Date | Milestone |
---|---|
Available Now | New Release |
Available Now | AutoCert+ |
To Be Announced | Production |
Customers are required to certify in New Release before accessing the APIs in Production.
Contact Global Account Management (GAM) for more information on certification.
Contact Certification Support for Electronic Trading (CSET) for assistance with testing and certification.
A registered OAuth API ID is required to access the CME OE API services. API IDs for CME Group Logins are created and managed in the CME Customer Center - My Profile menu. Client API IDs must also be entitled prior to accessing CME OE APIs.
Complete the step(s) that are applicable to your account:
New Clients | Clients with Existing CME Group Logins |
---|---|
|
|
CME Group requires customers to create unique OAuth API IDs for the each environment. |
To request entitlements be added to the API IDs, contact Global Account Management (GAM) requesting role assignments to New Release and Production API IDs.
All OE API IDs must have a specific role assigned:
OE API does not support instrument referential data or market data. Clients must obtain instrument referential data, and market data if desired, from one of the many other services offered by CME Group:
The OE APIs are hosted on Google Cloud and protected by Google Cloud Armor with preconfigured Web Application Firewall(WAF) rules leveraging the OWASP Top 10 rules.
Customers must test their applications' compliance with the OWASP Top 10 rules in the New Release environment to ensure no Production issues occur.
To access the CME OE API Web Services in the New Release and Production environments, an OAuth API ID and access token are required.
The below Endpoints are available to request and refresh access tokens in the New Release and Production environments.
OAuth 2.0 Authorization Server Endpoints | ||
---|---|---|
Detail | New Release | Production |
OAuth Token Endpoint | https://authnr.cmegroup.com/as/token.oauth2 | https://auth.cmegroup.com/as/token.oauth2 |
Tokens will expire after 30 minutes. |
Once clients have completed onboarding and granted entitlements they can access the OE APIs. OE APIs support the following API protocols:
Environment | Base URL |
---|---|
New Release | https://markets.api.uat.cmegroup.com/orderentry/v2 |
Production | https://markets.api.cmegroup.com/orderentry/v2 |
Environment | Base URL |
---|---|
AutoCert+ Certification | wss://markets.api.uat.cmegroup.com/autocert/orderentry |
New Release | wss://markets.api.uat.cmegroup.com/orderentry/v2 |
Production | wss://markets.api.cmegroup.com/orderentry/v2 |
The business message specifications for CME OE APIs are available at Order Entry API V2
HTTPS RESTful Web Service | Web Socket | |||
---|---|---|---|---|
Name | Path | Method | Message | Description |
Establish Websocket connection | /order/events | GET | Establish Websocket connections to the Order Entry Service with capability to configure Cancel on Disconnect preferences for the session. Cancel on Disconnect will not be enabled when no parameters are provided on connect All required parameters need to be provided to enable Cancel on Disconnect functionality. | |
Submit Order | /order/new | POST | Submit a new order. | |
Cancel Order | /order/cancel | PUT | Cancel a working order by the Venue Order ID and/or Customer Order ID. | |
Update Order | /order/update | PUT | Update a working order by the Venue Order ID and/or Customer Order ID. | |
Get Order Status | /order/status | POST | Get order status for single (or multiple) working order(s). | |
Search for Trades | /trades/search | POST | Request a trade record using custom criteria. Based on query parameters, one or more trades may be returned. | |
Mass Order Cancel | /order/cancel-mass | PUT | Submit mass order cancel request. | |
Create Instrument | /instruments | POST | Submit new tradeable instrument request | |
Submit Request For Quote | /quotes/new | POST | Solicit a quote on an instrument. | |
Applicable only to Web Socket connections. Heartbeat is sent by the server every 5 seconds. No Heartbeat requirement from the client system. | ||||
Applicable only to Web Socket connections. Asynchronous order status message indicating order expiry. | ||||
Applicable only to Web Socket connections. Asynchronous order message indication fills. | ||||
Business reject is sent when inbound client message fails business logic. |
When FOK order duration type is sent, customers should be aware of the response. Customers will receive an order status with duration type Fill and Kill (FAK) and minimum quantity integer equal to total order quantity.
When Stop orders (with protection) are sent, customers should be aware of the response:
More information on Post-Trade Instructions will be available soon.
OE APIs support alphanumeric characters in the Customer Order Id and Customer Account Id fields with a specific number of allowable special characters.
See RMI Accounts with Special Characters documentation for a complete list of allowable special characters.
Order Management, User-Defined Instrument and Query Status services are throttled as follows:
Crude Oil futures LIMIT order submitted for a quantity of 4 at a price of 2025
{ "header": { "messageType": "ORDNEW", "applicationName": "OEAPI", "applicationVendor": "CME", "applicationVersion": "1.0.0", "requestId": "498", "sentTime": "2023-08-23T18:52:37.098136467Z" }, "payload": { "customerOrderHandlingInstr":"CLIENT_ELECTRONIC", "customerOrderId": "AB-12345", "displayQtyInt": 4, "durationType": "DAY", "entities": { "operatorId": "SENDER_ID_1", "senderCountry": "US", "senderState": "NY", "executingFirmId": "123", "customerAccountId": "456", "customerType": "MEMBER_OWN", "customerOriginType": "CUSTOMER" }, "instrument": { "glbxSecurityId": 112233 }, "manualInd": "YES", "memo": "comments", "minimumQtyInt": 0, "price": 2025, "qtyInt": 4, "selfMatchPreventionId": "-1", "selfMatchPreventionInstr": "CANCEL_NEWEST", "sideInd": "SELL", "type": "LIMIT" } } |
{ "header": { "requestId": "498", "sentTime": "2023-08-23T18:52:37.640499845Z" }, "payload": { "action": "NEW", "customerOrderHandlingInstr": "CLIENT_ELECTRONIC", "customerOrderId": "AB-12346", "displayQtyInt": 4, "durationType": "DAY", "entities": { "customerAccountId": "123", "customerOriginType": "CUSTOMER", "customerType": "MEMBER_OWN", "executingFirmId": "456", "operatorId": "SENDER_ID_1", "senderCountry": "US", "senderState": "NY" }, "instrument": { "glbxSecurityId": 112233 }, "manualInd": "YES", "price": 2025, "qtyInt": 4, "sideInd": "SELL", "status": "NEW", "transactionTime": "2023-08-23T18:52:37.098136467Z", "type": "LIMIT", "venueExecutionId": "80000:79999", "venueOrderId": "123456123456" } } |
Crude Oil futures LIMIT order submitted for a quantity of 4 at a price of 2025
Includes Heartbeat messages with sequence numbers
17:26:03 17:26:01 17:26:01 17:25:58 17:25:52 |
{ |
{ |
Related | Description |
---|---|
Order Management | This topic provides an overview of the order management process for orders submitted to CME Globex. |
User Defined Spread - UDS | A User Defined Spread (UDS) is a multi-legged instrument created by a client for trading on the CME Globex platform. |
Risk Management Services | All CME Globex credit and risk management features will be applied to OE API orders and trades |
Self-Match prevention | CME Globex Self-Match Prevention (SMP) is optional functionality that allows a customer to prevent the matching of orders for accounts with common ownership, across different Executing Firms, within or across clearing firms. |
CME Globex Credit Controls | CME Globex Credit Controls (GC2) is a front-end application that provides pre-execution risk controls that enable Clearing Firm or partner exchange Clearing firm risk administrators to set credit limits. |
Audit Trail | OE APIs Audit Trail - Pending |
Order management is not allowed for the following Partner Exchanges:
Only CME Group futures and options on CME Globex are available via the OE APIs. Partner Exchange markets, BrokerTec and EBS Markets, and trade submissions are not supported.
For technical development support, contact Certification Support for Electronic Trading (CSET).
For production requests, technical assistance and order status, please contact the Global Command Center (GCC).
For all other inquiries, please contact Global Account Management (GAM).