Order Entry API V2 - Update Order

Update a working order by the Venue Order ID and/or Customer Order ID.
URL/order/update
HTTP MethodPUT
Version2.0.0
Contents

Request

Body

RefFieldNameData TypeValuesUsageDescription
1header
2→ applicationNameApplication NameString
REQUIRED

Identifies the application generating the message.

3→ applicationVendorApplication VendorString
REQUIRED

Identifies the vendor of the application generating the message.

4→ applicationVersionApplication VersionString
REQUIRED

Identifies the version of the application generating the message.

5→ requestIdRequest IDString
REQUIRED

A unique identifier for the request provided by the client for correlation.

6→ sentTimeSent TimeDateTime
REQUIRED

Timestamp of the message leaving the producing application.

7payload
8→ customerOrderHandlingInstrCustomer Order Handling InstructionCustomerOrderHandlingInstruction
 Click here to expand...
  • ALGORITHM_ENGINE (Algorithm Engine)
  • CLIENT_ELECTRONIC (Client Electronic)
  • DESK_ELECTRONIC (Desk Electronic)
  • FCM_API (FCM API or FIX)
  • FCM_PROVIDED_SCREEN (FCM Provided Screen)
  • OTHER_PROVIDED_SCREEN (Other Provided Screen)
REQUIRED
9→ customerOrderIdCustomer Order IDString
  • Length: 1 - 20
REQUIRED
10→ displayQtyIntDisplay Quantity IntegerInteger
OPTIONAL
11→ durationTypeDuration TypeOrderDurationType
  • DAY (Day) - Order expires at the end of the trading day.
  • FILL_AND_KILL (Fill and Kill) - Order is immediately executed against any available quantity and any remaining quantity is eliminated
  • FILL_OR_KILL (Fill or Kill) - Order is filled completely or else eliminated
  • GOOD_TILL_CANCEL (Good till Cancel) - Order remains working until cancelled
  • GOOD_TILL_DATE (Good till Date) - Order remains working until the end of the trading session of the local market date specified in the ExpirationDate field.
REQUIRED
12→ entities
13→ → customerAccountIdCustomer Account IDString
  • Length: 1 - 12
REQUIRED
14→ → customerOriginTypeCustomer Origin TypeOriginType
  • CUSTOMER (Customer)
  • HOUSE (House)
REQUIRED
15→ → customerTypeCustomer TypeCustomerType
  • MEMBER_OWN (Member Own) - Applies to orders entered or trades executed by an individual member for their own account, for an account they controls, or for an account in which they have an ownership or financial interest. However, transactions initiated and executed by a member for the proprietary account of a member firm must be designated as Member Other Member transactions.
  • MEMBER_PROPRIETARY (Member Proprietary) - Applies to orders entered or trades executed for the proprietary accounts of a member firm, including Rule 106.H., I., N., R. and S. firms.
  • ON_BEHALF_INDIVIDUAL (On-Behalf Individual) - Applies to orders entered by a member or a nonmember terminal operator for the account of another individual member or an account controlled by such individual member.
  • OTHER (Other) - Applies to all orders and transactions not included in any of the defined categories. These typically are orders entered by or on behalf of nonmember entities.
REQUIRED
16→ → executingFirmIdExecuting Firm IDString
  • Length: 1 - 10
REQUIRED
17→ → operatorIdOperator IDString
  • Length: 1 - 18
REQUIRED
18→ → senderCountrySender CountryString
  • Length: 1 - 2
REQUIRED
19→ → senderStateSender StateString
  • Length: 2 - 2
OPTIONAL
20→ expirationDtExpiration DateDate
CONDITIONAL
Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE
21→ instrument
22→ → glbxSecurityIdGlobex Security IDInteger
REQUIRED
23→ manualIndManual IndicatorYesNoIndicator
  • NO (No) - No
  • YES (Yes) - Yes
REQUIRED

Indicates whether the order was generated by automated trading logic.

24→ memoMemoString
  • Length: 0 - 75
OPTIONAL
25→ minimumQtyIntMinimum Quantity IntegerInteger
OPTIONAL
26→ ofmOverrideIndOver-fill Mitigation Override IndicatorYesNoIndicator
  • NO (No) - No
  • YES (Yes) - Yes
OPTIONAL
27→ pricePricePrice
CONDITIONAL
Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)
28→ qtyIntQuantity IntegerInteger
REQUIRED
29→ selfMatchPreventionIdSelf-Match Prevention IDInteger
OPTIONAL
30→ selfMatchPreventionInstrSelf-Match Prevention InstructionSelfMatchPreventionInstruction
  • CANCEL_NEWEST (Cancel Newest)
  • CANCEL_OLDEST (Cancel Oldest)
OPTIONAL
31→ sideIndSide IndicatorMarketSideIndicator
  • BUY (Buy) - Identifies a buy side order
  • SELL (Sell) - Identifies a sell side order
REQUIRED
32→ stopPriceStop PricePrice
CONDITIONAL
Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)
33→ typeTypeOrderType
  • LIMIT (Limit) - A Limit order defines the upper price limit at which to buy an instrument and lower price limit at which to sell an instrument. The price limit is defined in the Price field. If the price is not immediately available, the Limit order will rest until filled or cancelled.
  • MARKET (Market) - A Market order with protection is filled within a pre-defined range of prices referred to as the protected range. For buy orders, protection points are added to the current best offer price to calculate the protection price limit. For sell orders, protection points are subtracted from the current best bid price.
  • MARKET_TO_LIMIT (Market to Limit) - A Market-limit order is executed at the best price available in the market. If the market-limit order can only be partially filled, the order becomes a limit order and the remaining quantity remains on the order book at the specified limit price.
  • STOP (Stop) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop order goes on the book as a Market order once triggered.
  • STOP_LIMIT (Stop Limit) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop-Limit order goes on the book as a Limit order once triggered.
REQUIRED
34→ venueOrderIdVenue Order IDString
OPTIONAL

Response - 200

Body

RefFieldNameData TypeValuesUsageDescription
1header
2→ requestIdRequest IDstring
ALWAYS

A unique identifier for the request provided by the client for correlation.

3→ sentTimeSent TimedateTime
ALWAYS

Timestamp of the message leaving the producing application.

4payload
5→ actionActionorderAction
  • MODIFY (Modify)
ALWAYS
6→ cumulativeQtyIntCumulative Quantity Integerint32
ALWAYS
7→ customerOrderHandlingInstrCustomer Order Handling InstructioncustomerOrderHandlingInstruction
 Click here to expand...
  • ALGORITHM_ENGINE (Algorithm Engine)
  • CLIENT_ELECTRONIC (Client Electronic)
  • CLIENT_PIT (Client Pit)
  • CLIENT_PLATFORM_DIRECT (Client Provided Platform Direct to Exchange)
  • CLIENT_PLATFORM_FCM (Client Provided Platform Controlled by FCM)
  • DESK_ELECTRONIC (Desk Electronic)
  • DESK_PIT (Desk Pit)
  • FCM_API (FCM API or FIX)
  • FCM_PROVIDED_SCREEN (FCM Provided Screen)
  • OTHER_PROVIDED_SCREEN (Other Provided Screen)
  • PHONE_COMPLEX (Phone Complex)
  • PHONE_SIMPLE (Phone Simple)
  • PRICE_AT_EXECUTION (Price at Execution)
ALWAYS
8→ customerOrderIdCustomer Order IDstring
ALWAYS
9→ displayQtyIntDisplay Quantity Integerint32
OPTIONAL
10→ durationTypeDuration TypeorderDurationType
  • DAY (Day) - Order expires at the end of the trading day.
  • FILL_AND_KILL (Fill and Kill) - Order is immediately executed against any available quantity and any remaining quantity is eliminated
  • FILL_OR_KILL (Fill or Kill) - Order is filled completely or else eliminated
  • GOOD_TILL_CANCEL (Good till Cancel) - Order remains working until cancelled
  • GOOD_TILL_DATE (Good till Date) - Order remains working until the end of the trading session of the local market date specified in the ExpirationDate field.
ALWAYS
11→ entities
12→ → customerAccountIdCustomer Account IDstring
ALWAYS
13→ → customerOriginTypeCustomer Origin TypeoriginType
  • CUSTOMER (Customer)
  • HOUSE (House)
OPTIONAL
14→ → customerTypeCustomer TypecustomerType
  • MEMBER_OWN (Member Own) - Applies to orders entered or trades executed by an individual member for their own account, for an account they controls, or for an account in which they have an ownership or financial interest. However, transactions initiated and executed by a member for the proprietary account of a member firm must be designated as Member Other Member transactions.
  • MEMBER_PROPRIETARY (Member Proprietary) - Applies to orders entered or trades executed for the proprietary accounts of a member firm, including Rule 106.H., I., N., R. and S. firms.
  • ON_BEHALF_INDIVIDUAL (On-Behalf Individual) - Applies to orders entered by a member or a nonmember terminal operator for the account of another individual member or an account controlled by such individual member.
  • OTHER (Other) - Applies to all orders and transactions not included in any of the defined categories. These typically are orders entered by or on behalf of nonmember entities.
OPTIONAL
15→ → executingFirmIdExecuting Firm IDstring
ALWAYS
16→ → senderCountrySender Countrystring
ALWAYS
17→ → senderStateSender Statestring
OPTIONAL
18→ expirationDtExpiration Datedate
CONDITIONAL
Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE
19→ instrument
20→ → glbxSecurityIdGlobex Security IDint32
ALWAYS
21→ manualIndManual IndicatoryesNoIndicator
  • NO (No) - No
  • YES (Yes) - Yes
ALWAYS

Indicates whether the order was generated by automated trading logic.

22→ memoMemostring
OPTIONAL
23→ minimumQtyIntMinimum Quantity Integerint32
OPTIONAL
24→ pricePriceprice
CONDITIONAL
Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)
25→ qtyIntQuantity Integerint32
ALWAYS
26→ remainingQtyIntRemaining Quantity Integerint32
ALWAYS
27→ sideIndSide IndicatormarketSideIndicator
  • BUY (Buy) - Identifies a buy side order
  • CROSS (Cross)
  • SELL (Sell) - Identifies a sell side order
ALWAYS
28→ statusStatusorderStatus
  • REPLACED (Replaced)
  • UNDEFINED (Undefined)
ALWAYS
29→ stopPriceStop Priceprice
CONDITIONAL
Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)
30→ transactionTimeTransaction TimedateTime
ALWAYS
31→ typeTypeorderType
  • LIMIT (Limit) - A Limit order defines the upper price limit at which to buy an instrument and lower price limit at which to sell an instrument. The price limit is defined in the Price field. If the price is not immediately available, the Limit order will rest until filled or cancelled.
  • MARKET (Market) - A Market order with protection is filled within a pre-defined range of prices referred to as the protected range. For buy orders, protection points are added to the current best offer price to calculate the protection price limit. For sell orders, protection points are subtracted from the current best bid price.
  • MARKET_TO_LIMIT (Market to Limit) - A Market-limit order is executed at the best price available in the market. If the market-limit order can only be partially filled, the order becomes a limit order and the remaining quantity remains on the order book at the specified limit price.
  • STOP (Stop) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop order goes on the book as a Market order once triggered.
  • STOP_LIMIT (Stop Limit) - A Stop order is an order which, when accepted, does not immediately go on the book, but must be "triggered" by a trade in the market at the price level submitted with the order. A Stop-Limit order goes on the book as a Limit order once triggered.
ALWAYS
32→ venueExecutionIdVenue Execution IDstring
ALWAYS
33→ venueOrderIdVenue Order IDstring
ALWAYS

Response - 400

Body

RefFieldNameData TypeValuesUsageDescription
1errors[]
2→ codeCodestring
  • 1 - {Unclassified error message}
ALWAYS
3→ messageMessagestring
ALWAYS
4header
5→ requestIdRequest IDstring
ALWAYS

A unique identifier for the request provided by the client for correlation.

6→ sentTimeSent TimedateTime
ALWAYS

Timestamp of the message leaving the producing application.

Response - 403

Body

RefFieldNameData TypeValuesUsageDescription
1errors[]
2→ codeCodestring
  • 1 - {Unclassified error message}
ALWAYS
3→ messageMessagestring
ALWAYS
4header
5→ requestIdRequest IDstring
ALWAYS

A unique identifier for the request provided by the client for correlation.

6→ sentTimeSent TimedateTime
ALWAYS

Timestamp of the message leaving the producing application.

Response - 500

Body

RefFieldNameData TypeValuesUsageDescription
1errors[]
2→ codeCodestring
 Click here to expand...
  • 1 - {Unclassified error message}
  • 1003 - Orders may not be entered while the market is closed Orders may not be entered while the market is paused Orders may not be canceled while the market is closed Orders may not be canceled while the market is paused
  • 101 - {Field} is not present
  • 1012 - Price must be greater than zero
  • 102 - {Field} has an incorrect value: {Value}
  • 103 - {Field} is invalid
  • 2013 - Market price orders not supported by opposite limit
  • 2019 - Order's GTD Expire Date is before the current (or next, if not currently in a session) trading session end date
  • 2046 - Disclosed Quantity cannot be greater than total or remaining qty
  • 2047 - Order contract is unknown
  • 2048 - The order was submitted with a different SenderCompID than the requesting cancel
  • 2058 - Stop price maxi-mini must be greater than or equal to trigger price
  • 2059 - Stop price maxi-mini must be smaller than or equal to trigger price
  • 2060 - Sell order stop price must be below last trade price
  • 2061 - Buy order stop price must be above last trade price
  • 2100 - The modify was submitted on a different product than the original order
  • 2101 - Attempt to modify an order with a different in-flight-fill mitigation status than first modification
  • 2102 - Attempt to modify an order with a different SenderCompID than the original order
  • 2115 - Order quantity is outside of the allowable range
  • 2130 - Order type not permitted while the market is in Post Close/Pre-Open (PCP)
  • 2137 - Order price is outside the limits
  • 2179 - Order price is outside bands
  • 2311 - Order type not permitted for group
  • 2500 - Instrument has a request for cross in progress
  • 2501 - Order Quantity too low
  • 7000 - Order rejected
  • 7024 - Order cannot be modified or cancelled while the market is in No Cancel
  • 7027 - Order type not permitted while the market is reserved
  • 7029 - Orders may not be entered while the market is forbidden
  • 7613 - Disclosed quantity cannot be smaller than the minimum quantity
ALWAYS
3→ messageMessagestring
ALWAYS
4→ referenceFieldReference Fieldstring
OPTIONAL
5header
6→ requestIdRequest IDstring
ALWAYS

A unique identifier for the request provided by the client for correlation.

7→ sentTimeSent TimedateTime
ALWAYS

Timestamp of the message leaving the producing application.

8payload
9→ customerOrderIdCustomer Order IDstring
ALWAYS
10→ transactionTimeTransaction TimedateTime
OPTIONAL
11→ venueOrderIdVenue Order IDstring
ALWAYS



How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.