Orders
Place, monitor, and manage trading orders.
Cancel Open Order
ModelsExpand Collapse
execution: object { id, order_id, quantity, 8 more }
Represents a single fill of an order for an account.
quantity: string
Filled quantity. For a strategy-level multileg fill this is the net strategy quantity, not a per-leg quantity.
instrument_id: optional string
Unique instrument identifier. null when this is a strategy-level multileg
fill whose legs are reported individually in legs[].
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 is a strategy-level multileg fill whose legs
are reported individually in legs[].
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.
quantity: string
Filled quantity. For a strategy-level multileg fill this is the net strategy quantity, not a per-leg quantity.
instrument_id: optional string
Unique instrument identifier. null when this is a strategy-level multileg
fill whose legs are reported individually in legs[].
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 is a strategy-level multileg fill whose legs
are reported individually in legs[].
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.
new_order_request: object { order_type, quantity, side, 13 more }
Request to submit a new order
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
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.
strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at } or object { destination, type }
Optional execution strategy. One of SOR, VWAP, TWAP, or DMA. Defaults
to SOR, the only strategy OTC common-stock orders support. VWAP and TWAP
are supported only on MARKET and LIMIT orders, and DMA only on LIMIT
orders; all three require DAY time-in-force. VWAP, TWAP, and DMA do
not support extended_hours.
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.
order: object { id, account_id, client_order_id, 30 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.
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.
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.
instrument_id: optional string
Instrument identifier for the traded instrument. null when the order is a
multileg strategy whose legs are reported individually in legs[].
When a null/undefined value is observed, it indicates it does not apply.
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.
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, destination, end_at, start_at }
The execution strategy the order was submitted with, if any.
symbol: optional string
Trading symbol. null when the order is a multileg strategy whose legs are
reported individually in legs[].
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_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.
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.
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.
instrument_id: optional string
Instrument identifier for the traded instrument. null when the order is a
multileg strategy whose legs are reported individually in legs[].
When a null/undefined value is observed, it indicates it does not apply.
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.
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, destination, end_at, start_at }
The execution strategy the order was submitted with, if any.
symbol: optional string
Trading symbol. null when the order is a multileg strategy whose legs are
reported individually in legs[].
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_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.
order_preview: object { account_id, amount, buying_power, 5 more }
The projected impact of an order, as if it were submitted and fully filled.
Risk-check errors that would prevent the order from being accepted. Empty when the order would pass every pre-trade risk check.
margin_details: object { initial_margin_excess, initial_margin_requirement, maintenance_margin_excess, 3 more }
Margin requirements and excess before and after the order.
order_preview_entry: object { preview, id } or object { error, id }
One requested order’s entry in the batch response.
union_member_0: object { preview, id }
The order was previewed successfully.
preview: object { account_id, amount, buying_power, 5 more }
The projected impact of the order.
Risk-check errors that would prevent the order from being accepted. Empty when the order would pass every pre-trade risk check.
margin_details: object { initial_margin_excess, initial_margin_requirement, maintenance_margin_excess, 3 more }
Margin requirements and excess before and after the order.
union_member_1: object { error, id }
union_member_0: object { preview, id }
The order was previewed successfully.
preview: object { account_id, amount, buying_power, 5 more }
The projected impact of the order.
Risk-check errors that would prevent the order from being accepted. Empty when the order would pass every pre-trade risk check.
margin_details: object { initial_margin_excess, initial_margin_requirement, maintenance_margin_excess, 3 more }
Margin requirements and excess before and after the order.
union_member_1: object { error, id }
order_preview_margin_details: object { initial_margin_excess, initial_margin_requirement, maintenance_margin_excess, 3 more }
Margin requirements and excess before and after the previewed order.
order_preview_outcome: object { preview } or object { error }
Either a successful preview or the error that prevented one, for a single order in the batch.
preview: object { preview }
The order was previewed successfully.
preview: object { account_id, amount, buying_power, 5 more }
The projected impact of the order.
Risk-check errors that would prevent the order from being accepted. Empty when the order would pass every pre-trade risk check.
margin_details: object { initial_margin_excess, initial_margin_requirement, maintenance_margin_excess, 3 more }
Margin requirements and excess before and after the order.
error: object { error }
order_preview_position: object { instrument_id, quantity, symbol }
order_strategy: object { type } or object { type, end_at, start_at } or object { type, end_at, start_at } or object { destination, type }
Optional execution strategy controlling how the order is worked in the market. Omit to use standard routing. One of SOR, VWAP, TWAP, or DMA.
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.