Skip to content
Start Trading

Orders

Place, monitor, and manage trading orders.

Get Orders
$ clst v1:orders get-orders
GET/v1/accounts/{account_id}/orders
Get Order By ID
$ clst v1:orders get-order-by-id
GET/v1/accounts/{account_id}/orders/{order_id}
Submit Orders
$ clst v1:orders submit-orders
POST/v1/accounts/{account_id}/orders
Replace Order
$ clst v1:orders replace-order
PATCH/v1/accounts/{account_id}/orders/{order_id}
Cancel Open Order
$ clst v1:orders cancel-open-order
DELETE/v1/accounts/{account_id}/orders/{order_id}
Cancel All Open Orders
$ clst v1:orders cancel-all-open-orders
DELETE/v1/accounts/{account_id}/orders
Get Executions
$ clst v1:orders get-executions
GET/v1/accounts/{account_id}/executions
ModelsExpand Collapse
execution: object { id, order_id, quantity, 8 more }

Represents a single fill of an order for an account.

id: string

Unique identifier for this execution report.

order_id: string

Identifier of the order this execution belongs to.

quantity: string

Filled quantity.

side: "BUY" or "SELL"

Side of the fill.

"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

instrument_id: optional string

Unique instrument identifier. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

price: optional string

Fill price. null for multileg fills, whose price lives only at the leg level. When a null/undefined value is observed, it indicates it does not apply.

symbol: optional string

Trading symbol. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Underlying instrument identifier for an option fill. Omitted for a non-derivative fill, when the underlier could not be resolved, or for a multileg fill (per-leg underliers live in legs[]). When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
venue: optional string

Venue where this fill occurred, as reported by that venue. Distinct from an order’s venue, which is the routing destination. Codes are not normalized, so the format varies by venue. When a null/undefined value is observed, it indicates that there is no available data.

execution_list: array of Execution { id, order_id, quantity, 8 more }
id: string

Unique identifier for this execution report.

order_id: string

Identifier of the order this execution belongs to.

quantity: string

Filled quantity.

side: "BUY" or "SELL"

Side of the fill.

"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

instrument_id: optional string

Unique instrument identifier. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

price: optional string

Fill price. null for multileg fills, whose price lives only at the leg level. When a null/undefined value is observed, it indicates it does not apply.

symbol: optional string

Trading symbol. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Underlying instrument identifier for an option fill. Omitted for a non-derivative fill, when the underlier could not be resolved, or for a multileg fill (per-leg underliers live in legs[]). When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
venue: optional string

Venue where this fill occurred, as reported by that venue. Distinct from an order’s venue, which is the routing destination. Codes are not normalized, so the format varies by venue. When a null/undefined value is observed, it indicates that there is no available data.

instrument_id_or_symbol: string

Instrument identifier: either an instrument UUID or a symbol (symbol for equities, OSI for options). Non-UUID inputs are resolved server-side.

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

Request to submit a new order

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"

Side of the order

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Time in force

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
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

Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.

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_intent: optional "OPEN" or "CLOSE"

Optional open/close intent for this order. When omitted, the platform determines the position effect.

"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders with DAY time-in-force, and are not supported on OTC common-stock orders.

type: object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

union_member_2: object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

symbol: optional string

Trading symbol. For equities, use the ticker symbol (e.g., “TSLA”). For options, use the OSI symbol (e.g., “TSLA 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, 31 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.

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

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"

Side of the order (BUY or SELL)

"BUY"
"SELL"
status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Current status of the order

"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force instruction

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"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. For multileg orders this is the venue’s strategy-level average when reported, else the signed net package price derived from the leg averages: net debit positive, net credit negative, zero possible. When a null/undefined value is observed, it indicates that there is no available data.

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. When a null/undefined value is observed, it indicates it does not apply.

extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

instrument_id: optional string

Instrument identifier for the traded instrument. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
limit_offset: optional string

Limit offset for trailing stop-limit orders (signed) When a null/undefined value is observed, it indicates it does not apply.

limit_price: optional string

Limit price (for LIMIT and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

queue_state: optional "AWAITING_RELEASE" or "RELEASED"

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

symbol: optional string

Trading symbol. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

trailing_limit_px: optional string

Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

trailing_offset: optional string

Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.

trailing_offset_type: optional "PRICE" or "BPS"

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

"PRICE"
"BPS"
trailing_stop_px: optional string

Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

trailing_watermark_px: optional string

Trailing watermark price for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.

trailing_watermark_ts: optional string

Trailing watermark timestamp for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Instrument ID of the option’s underlying instrument. Populated only for options orders. A null means one of two things: the order is not an option, so the field does not apply; or the order is an option whose underlier has not yet been resolved. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
order_list: array of Order { id, account_id, client_order_id, 31 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.

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

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"

Side of the order (BUY or SELL)

"BUY"
"SELL"
status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Current status of the order

"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force instruction

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"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. For multileg orders this is the venue’s strategy-level average when reported, else the signed net package price derived from the leg averages: net debit positive, net credit negative, zero possible. When a null/undefined value is observed, it indicates that there is no available data.

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. When a null/undefined value is observed, it indicates it does not apply.

extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

instrument_id: optional string

Instrument identifier for the traded instrument. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
limit_offset: optional string

Limit offset for trailing stop-limit orders (signed) When a null/undefined value is observed, it indicates it does not apply.

limit_price: optional string

Limit price (for LIMIT and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

queue_state: optional "AWAITING_RELEASE" or "RELEASED"

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

symbol: optional string

Trading symbol. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

trailing_limit_px: optional string

Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

trailing_offset: optional string

Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.

trailing_offset_type: optional "PRICE" or "BPS"

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

"PRICE"
"BPS"
trailing_stop_px: optional string

Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.

trailing_watermark_px: optional string

Trailing watermark price for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.

trailing_watermark_ts: optional string

Trailing watermark timestamp for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Instrument ID of the option’s underlying instrument. Populated only for options orders. A null means one of two things: the order is not an option, so the field does not apply; or the order is an option whose underlier has not yet been resolved. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
order_status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Order status

"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
order_strategy: object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy controlling how the order is worked in the market. Omit to use standard routing. One of SOR, VWAP, or TWAP.

type: object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

union_member_2: object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

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

Order type

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
queue_state: "AWAITING_RELEASE" or "RELEASED"

Parent order queue or hold state.

"AWAITING_RELEASE"
"RELEASED"
replace_order_request: object { limit_offset, limit_price, quantity, 3 more }

Request to replace (modify) an existing order

At least one field must be provided.

limit_offset: optional string

New limit offset for trailing stop-limit orders (signed)

limit_price: optional string

New limit price for the order

quantity: optional string

New quantity for the order

stop_price: optional string

New stop price for the order

trailing_offset: optional string

New trailing offset for trailing orders

trailing_offset_type: optional "PRICE" or "BPS"

New trailing offset type (PRICE or BPS)

"PRICE"
"BPS"
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_position_effect: "OPEN" or "CLOSE"

Client-attested open/close intent for an order.

"OPEN"
"CLOSE"
request_time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

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

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
side: "BUY" or "SELL"

Side of the order (BUY or SELL).

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
trailing_offset_type: "PRICE" or "BPS"

Trailing offset type for trailing stop orders.

"PRICE"
"BPS"