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

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

header



2

→ applicationName

Application Name

String



REQUIRED

Identifies the application generating the message.

3

→ applicationVendor

Application Vendor

String



REQUIRED

Identifies the vendor of the application generating the message.

4

→ applicationVersion

Application Version

String



REQUIRED

Identifies the version of the application generating the message.

5

→ requestId

Request ID

String



REQUIRED

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

6

→ sentTime

Sent Time

DateTime



REQUIRED

Timestamp of the message leaving the producing application.

7

payload



8

→ customerOrderHandlingInstr

Customer Order Handling Instruction

CustomerOrderHandlingInstruction

  • 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

→ customerOrderId

Customer Order ID

String

  • Length: 1 - 20

REQUIRED



10

→ displayQtyInt

Display Quantity Integer

Integer



OPTIONAL



11

→ durationType

Duration Type

OrderDurationType

  • 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

→ → customerAccountId

Customer Account ID

String

  • Length: 1 - 12

REQUIRED



14

→ → customerOriginType

Customer Origin Type

OriginType

  • CUSTOMER (Customer)

  • HOUSE (House)

REQUIRED



15

→ → customerType

Customer Type

CustomerType

  • 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

→ → executingFirmId

Executing Firm ID

String

  • Length: 1 - 10

REQUIRED



17

→ → operatorId

Operator ID

String

  • Length: 1 - 18

REQUIRED



18

→ → senderCountry

Sender Country

String

  • Length: 1 - 2

REQUIRED



19

→ → senderState

Sender State

String

  • Length: 2 - 2

OPTIONAL



20

→ expirationDt

Expiration Date

Date



CONDITIONAL

Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE

21

→ instrument



22

→ → glbxSecurityId

Globex Security ID

Integer



REQUIRED



23

→ manualInd

Manual Indicator

YesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

REQUIRED

Indicates whether the order was generated by automated trading logic.

24

→ memo

Memo

String

  • Length: 0 - 75

OPTIONAL



25

→ minimumQtyInt

Minimum Quantity Integer

Integer



OPTIONAL



26

→ ofmOverrideInd

Over-fill Mitigation Override Indicator

YesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

OPTIONAL



27

→ price

Price

Price



CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)

28

→ qtyInt

Quantity Integer

Integer



REQUIRED



29

→ selfMatchPreventionId

Self-Match Prevention ID

Integer



OPTIONAL



30

→ selfMatchPreventionInstr

Self-Match Prevention Instruction

SelfMatchPreventionInstruction

  • CANCEL_NEWEST (Cancel Newest)

  • CANCEL_OLDEST (Cancel Oldest)

OPTIONAL



31

→ sideInd

Side Indicator

MarketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • SELL (Sell) - Identifies a sell side order

REQUIRED



32

→ stopPrice

Stop Price

Price



CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)

33

→ type

Type

OrderType

  • 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

→ venueOrderId

Venue Order ID

String



OPTIONAL



Response - 200

Body

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

header



2

→ requestId

Request ID

string



ALWAYS

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

3

→ sentTime

Sent Time

dateTime



ALWAYS

Timestamp of the message leaving the producing application.

4

payload



5

→ action

Action

orderAction

  • MODIFY (Modify)

ALWAYS



6

→ cumulativeQtyInt

Cumulative Quantity Integer

int32



ALWAYS



7

→ customerOrderHandlingInstr

Customer Order Handling Instruction

customerOrderHandlingInstruction

  • 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

→ customerOrderId

Customer Order ID

string



ALWAYS



9

→ displayQtyInt

Display Quantity Integer

int32



OPTIONAL



10

→ durationType

Duration Type

orderDurationType

  • 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

→ → customerAccountId

Customer Account ID

string



ALWAYS



13

→ → customerOriginType

Customer Origin Type

originType

  • CUSTOMER (Customer)

  • HOUSE (House)

OPTIONAL



14

→ → customerType

Customer Type

customerType

  • 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

→ → executingFirmId

Executing Firm ID

string



ALWAYS



16

→ → senderCountry

Sender Country

string



ALWAYS



17

→ → senderState

Sender State

string



OPTIONAL



18

→ expirationDt

Expiration Date

date



CONDITIONAL

Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE

19

→ instrument



20

→ → glbxSecurityId

Globex Security ID

int32



ALWAYS



21

→ manualInd

Manual Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

ALWAYS

Indicates whether the order was generated by automated trading logic.

22

→ memo

Memo

string



OPTIONAL



23

→ minimumQtyInt

Minimum Quantity Integer

int32



OPTIONAL



24

→ price

Price

price



CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (LIMIT, STOP_LIMIT)

25

→ qtyInt

Quantity Integer

int32



ALWAYS



26

→ remainingQtyInt

Remaining Quantity Integer

int32



ALWAYS



27

→ sideInd

Side Indicator

marketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • CROSS (Cross)

  • SELL (Sell) - Identifies a sell side order

ALWAYS



28

→ status

Status

orderStatus

  • REPLACED (Replaced)

  • UNDEFINED (Undefined)

ALWAYS



29

→ stopPrice

Stop Price

price



CONDITIONAL

Criteria
  • ALWAYS when payload.type IN (STOP, STOP_LIMIT)

30

→ transactionTime

Transaction Time

dateTime



ALWAYS



31

→ type

Type

orderType

  • 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

→ venueExecutionId

Venue Execution ID

string



ALWAYS



33

→ venueOrderId

Venue Order ID

string



ALWAYS



Response - 400

Body

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

errors[]



2

→ code

Code

string

  • 1 - {Unclassified error message}

ALWAYS



3

→ message

Message

string



ALWAYS



4

header



5

→ requestId

Request ID

string



ALWAYS

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

6

→ sentTime

Sent Time

dateTime



ALWAYS

Timestamp of the message leaving the producing application.

Response - 403

Body

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

errors[]



2

→ code

Code

string

  • 1 - {Unclassified error message}

ALWAYS



3

→ message

Message

string



ALWAYS



4

header



5

→ requestId

Request ID

string



ALWAYS

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

6

→ sentTime

Sent Time

dateTime



ALWAYS

Timestamp of the message leaving the producing application.

Response - 500

Body

Ref

Field

Name

Data Type

Values

Usage

Description

Ref

Field

Name

Data Type

Values

Usage

Description

1

errors[]



2

→ code

Code

string

  • 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

→ message

Message

string



ALWAYS



4

→ referenceField

Reference Field

string



OPTIONAL



5

header



6

→ requestId

Request ID

string



ALWAYS

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

7

→ sentTime

Sent Time

dateTime



ALWAYS

Timestamp of the message leaving the producing application.

8

payload



9

→ customerOrderId

Customer Order ID

string



ALWAYS



10

→ transactionTime

Transaction Time

dateTime



OPTIONAL



11

→ venueOrderId

Venue Order ID

string



ALWAYS






How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.