Skip to content
Get started

Orders

Place, monitor, and manage trading orders.

Get Orders
$ clear-street v1:orders get-orders
GET/v1/accounts/{account_id}/orders
Get Order By ID
$ clear-street v1:orders get-order-by-id
GET/v1/accounts/{account_id}/orders/{order_id}
Submit Orders
$ clear-street v1:orders submit-orders
POST/v1/accounts/{account_id}/orders
Replace Order
$ clear-street v1:orders replace-order
PATCH/v1/accounts/{account_id}/orders/{order_id}
Cancel Open Order
$ clear-street v1:orders cancel-open-order
DELETE/v1/accounts/{account_id}/orders/{order_id}
Cancel All Open Orders
$ clear-street v1:orders cancel-all-open-orders
DELETE/v1/accounts/{account_id}/orders
ModelsExpand Collapse
cancel_order_request: object { account_id, order_id }

Request to cancel an existing order

Note: In the API, order cancellation is done via DELETE request without a body. The order_id and account_id come from the URL path parameters.

account_id: number

Account ID (from path parameter)

order_id: string

Order ID to cancel (from path parameter)

instrument_id_or_symbol: string

OEMS instrument UUID

new_order_request: object { instrument_type, order_type, quantity, 13 more }

Request to submit a new order (PlaceOrderRequest from spec)

instrument_type: "COMMON_STOCK" or "PREFERRED_STOCK" or "OPTION" or 2 more

Type of security

"COMMON_STOCK"
"PREFERRED_STOCK"
"OPTION"
"CASH"
"OTHER"
order_type: "MARKET" or "LIMIT" or "STOP" or 3 more

Type of order

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
quantity: string

Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)

side: "BUY" or "SELL" or "SELL_SHORT" or "OTHER"

Side of the order

"BUY"
"SELL"
"SELL_SHORT"
"OTHER"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 7 more

Time in force

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_THE_OPENING"
"AT_THE_CLOSE"
"GOOD_TILL_CROSSING"
"GOOD_THROUGH_CROSSING"
"AT_CROSSING"
id: optional string

Optional client-provided unique ID (idempotency). Required to be unique per account.

expires_at: optional string

The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.

extended_hours: optional boolean

Allow trading outside regular trading hours. Some brokers disallow options outside RTH.

instrument_id: optional string

OEMS instrument UUID

limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (required for LIMIT and STOP_LIMIT orders)

position_effect: optional "OPEN" or "CLOSE"

Required when instrument_type is OPTION. Specifies whether the order opens or closes a position.

"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

symbol: optional string

Trading symbol. For equities, use the ticker symbol (e.g., “AAPL”). For options, use the OSI symbol (e.g., “AAPL 250117C00190000”). Either symbol or instrument_id must be provided.

trailing_offset: optional string

Trailing offset amount (required for trailing orders)

trailing_offset_type: optional "PRICE" or "BPS"

Trailing offset type (PRICE or PERCENT_BPS)

"PRICE"
"BPS"
order: object { id, account_id, client_order_id, 29 more }

A trading order with its current state and execution details.

This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

client_order_id: string

Client-provided identifier echoed back (FIX tag 11).

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

instrument_id: string

OEMS instrument UUID for the traded instrument.

instrument_type: "COMMON_STOCK" or "PREFERRED_STOCK" or "OPTION" or 2 more

Type of security

"COMMON_STOCK"
"PREFERRED_STOCK"
"OPTION"
"CASH"
"OTHER"
leaves_quantity: string

Remaining unfilled quantity

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Type of order (MARKET, LIMIT, etc.)

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: "BUY" or "SELL" or "SELL_SHORT" or "OTHER"

Side of the order (BUY, SELL, SELL_SHORT)

"BUY"
"SELL"
"SELL_SHORT"
"OTHER"
status: "PENDING_NEW" or "NEW" or "PARTIALLY_FILLED" or 12 more

Current status of the order

"PENDING_NEW"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
symbol: string

Trading symbol

time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 8 more

Time in force instruction

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_THE_OPENING"
"AT_THE_CLOSE"
"GOOD_TILL_CROSSING"
"GOOD_THROUGH_CROSSING"
"AT_CROSSING"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

venue: string

MIC code of the venue where the order is routed

average_fill_price: optional string

Average fill price across all executions

details: optional array of string

Contains execution, rejection or cancellation details, if any

expires_at: optional string

Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE.

extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (for LIMIT and STOP_LIMIT orders)

queue_state: optional "AWAITING_RELEASE" or "RELEASED"

Parent order queue state, present when the order is awaiting release or released.

"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release.

stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders)

trailing_limit_px: optional string

Current trailing limit price computed by the trailing strategy

trailing_offset: optional string

Trailing offset amount for trailing orders

trailing_offset_type: optional "PRICE" or "BPS"

Trailing offset type for trailing orders

"PRICE"
"BPS"
trailing_stop_px: optional string

Current trailing stop price computed by the trailing strategy

trailing_watermark_px: optional string

Trailing watermark price for trailing orders

trailing_watermark_ts: optional string

Trailing watermark timestamp for trailing orders

underlying_instrument_id: optional string

OEMS instrument ID of the option’s underlying instrument. Populated only for OPTIONS orders; null for non-options and for options whose underlier cannot be resolved from the instrument cache.

order_list: array of Order { id, account_id, client_order_id, 29 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

client_order_id: string

Client-provided identifier echoed back (FIX tag 11).

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

instrument_id: string

OEMS instrument UUID for the traded instrument.

instrument_type: "COMMON_STOCK" or "PREFERRED_STOCK" or "OPTION" or 2 more

Type of security

"COMMON_STOCK"
"PREFERRED_STOCK"
"OPTION"
"CASH"
"OTHER"
leaves_quantity: string

Remaining unfilled quantity

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Type of order (MARKET, LIMIT, etc.)

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: "BUY" or "SELL" or "SELL_SHORT" or "OTHER"

Side of the order (BUY, SELL, SELL_SHORT)

"BUY"
"SELL"
"SELL_SHORT"
"OTHER"
status: "PENDING_NEW" or "NEW" or "PARTIALLY_FILLED" or 12 more

Current status of the order

"PENDING_NEW"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
symbol: string

Trading symbol

time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 8 more

Time in force instruction

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_THE_OPENING"
"AT_THE_CLOSE"
"GOOD_TILL_CROSSING"
"GOOD_THROUGH_CROSSING"
"AT_CROSSING"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

venue: string

MIC code of the venue where the order is routed

average_fill_price: optional string

Average fill price across all executions

details: optional array of string

Contains execution, rejection or cancellation details, if any

expires_at: optional string

Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE.

extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (for LIMIT and STOP_LIMIT orders)

queue_state: optional "AWAITING_RELEASE" or "RELEASED"

Parent order queue state, present when the order is awaiting release or released.

"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release.

stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders)

trailing_limit_px: optional string

Current trailing limit price computed by the trailing strategy

trailing_offset: optional string

Trailing offset amount for trailing orders

trailing_offset_type: optional "PRICE" or "BPS"

Trailing offset type for trailing orders

"PRICE"
"BPS"
trailing_stop_px: optional string

Current trailing stop price computed by the trailing strategy

trailing_watermark_px: optional string

Trailing watermark price for trailing orders

trailing_watermark_ts: optional string

Trailing watermark timestamp for trailing orders

underlying_instrument_id: optional string

OEMS instrument ID of the option’s underlying instrument. Populated only for OPTIONS orders; null for non-options and for options whose underlier cannot be resolved from the instrument cache.

order_status: "PENDING_NEW" or "NEW" or "PARTIALLY_FILLED" or 12 more

Order status

"PENDING_NEW"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Order type

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
position_effect: "OPEN" or "CLOSE"

Position effect for options orders

"OPEN"
"CLOSE"
queue_state: "AWAITING_RELEASE" or "RELEASED"

Parent order queue or hold state.

"AWAITING_RELEASE"
"RELEASED"
request_order_type: "MARKET" or "LIMIT" or "STOP" or 3 more

Strict order-type enum for order submission/replacement requests.

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
request_time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 7 more

Strict time-in-force enum for order submission/replacement requests.

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_THE_OPENING"
"AT_THE_CLOSE"
"GOOD_TILL_CROSSING"
"GOOD_THROUGH_CROSSING"
"AT_CROSSING"
side: "BUY" or "SELL" or "SELL_SHORT" or "OTHER"

Side of an order

"BUY"
"SELL"
"SELL_SHORT"
"OTHER"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 8 more

Time in force

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_THE_OPENING"
"AT_THE_CLOSE"
"GOOD_TILL_CROSSING"
"GOOD_THROUGH_CROSSING"
"AT_CROSSING"
"OTHER"
trailing_offset_type: "PRICE" or "BPS"

Trailing offset type for trailing stop orders.

"PRICE"
"BPS"