Order Entry API V2 - Submit Order

Submit a new order.

URL/order/new
HTTP MethodPOST
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

Unique order identifier assigned by client system.

Client system must maintain uniqueness of this value for the life of the order.

Refer to iLink - CME Globex Identifiers for more information.

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

Unique account identifier.

14

→ → customerOriginType

Customer Origin Type

OriginType

  • CUSTOMER (Customer)

  • HOUSE (House)

OPTIONAL



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.

OPTIONAL



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

→ price

Price

Price



CONDITIONAL

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

27

→ qtyInt

Quantity Integer

Integer



REQUIRED



28

→ selfMatchPreventionId

Self-Match Prevention ID

Integer



OPTIONAL



29

→ selfMatchPreventionInstr

Self-Match Prevention Instruction

SelfMatchPreventionInstruction

  • CANCEL_NEWEST (Cancel Newest)

  • CANCEL_OLDEST (Cancel Oldest)

OPTIONAL



30

→ sideInd

Side Indicator

MarketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • SELL (Sell) - Identifies a sell side order

REQUIRED



31

→ stopPrice

Stop Price

Price



CONDITIONAL

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

32

→ 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



Response - 201

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

  • NEW (New)

ALWAYS



6

→ 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)

ALWAYS



7

→ customerOrderId

Customer Order ID

string



ALWAYS



8

→ displayQtyInt

Display Quantity Integer

int32



OPTIONAL



9

→ 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



10

→ entities



11

→ → customerAccountId

Customer Account ID

string



ALWAYS



12

→ → customerOriginType

Customer Origin Type

originType

  • CUSTOMER (Customer)

  • HOUSE (House)

ALWAYS



13

→ → 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.

ALWAYS



14

→ → executingFirmId

Executing Firm ID

string



ALWAYS



15

→ → senderCountry

Sender Country

string



ALWAYS



16

→ → senderState

Sender State

string



OPTIONAL



17

→ expirationDt

Expiration Date

date



CONDITIONAL

Criteria
  • ALWAYS when payload.durationType = GOOD_TILL_DATE

18

→ instrument



19

→ → glbxSecurityId

Globex Security ID

int32



ALWAYS



20

→ manualInd

Manual Indicator

yesNoIndicator

  • NO (No) - No

  • YES (Yes) - Yes

ALWAYS

Indicates whether the order was generated by automated trading logic.

21

→ memo

Memo

string



OPTIONAL



22

→ minimumQtyInt

Minimum Quantity Integer

int32



OPTIONAL



23

→ price

Price

price



CONDITIONAL

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

24

→ qtyInt

Quantity Integer

int32



ALWAYS



25

→ sideInd

Side Indicator

marketSideIndicator

  • BUY (Buy) - Identifies a buy side order

  • CROSS (Cross)

  • SELL (Sell) - Identifies a sell side order

ALWAYS



26

→ status

Status

orderStatus

  • NEW (New)

  • UNDEFINED (Undefined)

ALWAYS



27

→ stopPrice

Stop Price

price



CONDITIONAL

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

28

→ transactionTime

Transaction Time

dateTime



ALWAYS



29

→ 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



30

→ venueExecutionId

Venue Execution ID

string



ALWAYS



31

→ 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

  • 1013 - Invalid order qualifier

  • 1014 - The user is not authorized to trade

  • 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

  • 2051 - The Order was submitted with a different side 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

  • 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

  • 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



OPTIONAL



10

→ transactionTime

Transaction Time

dateTime



OPTIONAL






How was your Client Systems Wiki Experience? Submit Feedback

Copyright © 2024 CME Group Inc. All rights reserved.