V1
V1Accounts
Manage trading accounts, balances, and portfolio history.
Get Accounts
Get Account By ID
Patch Account By ID
Get Account Balances
Get Portfolio History
ModelsExpand Collapse
AccountBalances { account_id, buying_power, currency, 16 more }
Represents the balance details for a trading account
daily_unrealized_pnl: string
Total unrealized profit or loss across all positions relative to prior close.
margin_details?: MarginDetails { day_trade_count, initial_margin_excess, initial_margin_requirement, 6 more } | null
Margin-account-only details.
day_trade_count: number
The number of day trades executed over the 5 most recent trading days.
day_trade_buying_power_usage?: string | null
The amount of day-trade buying power used during the current trading day.
top_contributors?: Array<MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more } >
Optional top margin contributors, returned only when explicitly requested.
MarginDetails { day_trade_count, initial_margin_excess, initial_margin_requirement, 6 more }
day_trade_count: number
The number of day trades executed over the 5 most recent trading days.
day_trade_buying_power_usage?: string | null
The amount of day-trade buying power used during the current trading day.
top_contributors?: Array<MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more } >
Optional top margin contributors, returned only when explicitly requested.
MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more }
PortfolioHistoryResponse { segments }
day_pnl?: string | null
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl?: string | null
P&L after netting all realized and unrealized P&L, adjustments, dividends, change in accruals, income and expenses
PortfolioHistorySegment { date, eod_equity, realized_pnl, 7 more }
day_pnl?: string | null
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl?: string | null
P&L after netting all realized and unrealized P&L, adjustments, dividends, change in accruals, income and expenses
Represents the balance details for a trading account
daily_unrealized_pnl: string
Total unrealized profit or loss across all positions relative to prior close.
margin_details?: MarginDetails { day_trade_count, initial_margin_excess, initial_margin_requirement, 6 more } | null
Margin-account-only details.
day_trade_count: number
The number of day trades executed over the 5 most recent trading days.
day_trade_buying_power_usage?: string | null
The amount of day-trade buying power used during the current trading day.
top_contributors?: Array<MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more } >
Optional top margin contributors, returned only when explicitly requested.
day_pnl?: string | null
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl?: string | null
P&L after netting all realized and unrealized P&L, adjustments, dividends, change in accruals, income and expenses
V1API Version
Endpoints for API service metadata.
Get the API version.
V1Calendar
Access clocks and financial calendars for market sessions and events.
Get Clock
Get Market Hours Calendar.
ModelsExpand Collapse
MarketHoursDetail { current_time, date, market, 5 more }
Comprehensive market hours information for a specific market and date
Next trading day’s session schedules (without time_until fields)
Trading session schedules for the requested date with time_until fields
Next trading day’s session schedules (without time_until fields)
Trading session schedules for the requested date with time_until fields
TradingSessions { after_hours, pre_market, regular }
Trading sessions for a market day with full timestamps
Next trading day’s session schedules (without time_until fields)
Trading session schedules for the requested date with time_until fields
V1Instrument Data
Retrieve instrument analytics, market data, news, and related reference data.
Get All Instrument Events
Get Instrument Events
Get Instrument Fundamentals
Get Instrument Balance Sheet Statements
Get Instrument Income Statements
Get Instrument Analyst Consensus
Get Instrument Cash Flow Statements
ModelsExpand Collapse
InstrumentAllEventsData { event_dates }
All-events payload grouped by date.
Events grouped by date in descending order.
Flat event envelopes for this date.
dividend_event_data?: InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } | null
instrument_id?: string | null
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentBalanceSheetStatementList = Array<InstrumentBalanceSheetStatement { accepted_date, filing_date, period, 55 more } >
InstrumentCashFlowStatementList = Array<InstrumentCashFlowStatement { accepted_date, filing_date, period, 42 more } >
InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
InstrumentEventEnvelope { symbol, type, dividend_event_data, 6 more }
Unified envelope for the all-events response.
dividend_event_data?: InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } | null
instrument_id?: string | null
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentEventsByDate { date, events }
Instrument events for a single date.
Flat event envelopes for this date.
dividend_event_data?: InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } | null
instrument_id?: string | null
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentEventsData { dividends, earnings, instrument_id, 2 more }
Grouped instrument events by type
dividends: Array<InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } >
InstrumentFundamentals { average_volume, beta, description, 12 more }
InstrumentIncomeStatementList = Array<InstrumentIncomeStatement { accepted_date, filing_date, period, 34 more } >
All-events payload grouped by date.
Events grouped by date in descending order.
Flat event envelopes for this date.
dividend_event_data?: InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } | null
instrument_id?: string | null
OEMS instrument identifier, when the instrument is found in the instrument cache.
Grouped instrument events by type
dividends: Array<InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more } >
InstrumentDataGetInstrumentBalanceSheetStatementsResponse extends BaseResponse { metadata, error } { data }
InstrumentDataGetInstrumentIncomeStatementsResponse extends BaseResponse { metadata, error } { data }
InstrumentDataGetInstrumentAnalystConsensusResponse extends BaseResponse { metadata, error } { data }
InstrumentDataGetInstrumentCashFlowStatementsResponse extends BaseResponse { metadata, error } { data }
V1Instrument DataMarket Data
Retrieve instrument analytics, market data, news, and related reference data.
Get Snapshots
Get Daily Aggregate Summaries
ModelsExpand Collapse
DailySummary { instrument_id, high, low, 4 more }
Daily aggregate (OHLV) summary for a single instrument.
Returned by GET /market-data/daily-summary. Every field except
instrument_id is Option:
- Unresolvable
instrument_id→ all other fieldsNone(includingsymbol). - Resolvable
instrument_idwith no realtime cache entry →symbolpopulated, OHLV/trade_dateNone. trade_datereflects the session the OHLV represents (today during trading hours, the last trading date during weekends/holidays).
MarketDataSnapshot { instrument_id, symbol, cumulative_volume, 4 more }
MarketDataSnapshotList = Array<MarketDataSnapshot { instrument_id, symbol, cumulative_volume, 4 more } >
V1Instrument DataNews
Retrieve instrument analytics, market data, news, and related reference data.
Get News
V1Instruments
Retrieve core details and discovery endpoints for tradable instruments.
Get Instruments
Get Instrument By ID
Search Instruments
Get Option Contracts
ModelsExpand Collapse
Instrument { id, country_of_issue, currency, 19 more }
Represents a tradable financial instrument.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
notional_adv?: string | null
Notional ADV (adv × previous_close). The primary liquidity signal
used by /instruments/search ranking. Computed at response time so
it stays consistent with whatever adv and previous_close show.
InstrumentCore { id, country_of_issue, currency, 18 more }
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
Represents a tradable financial instrument.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
notional_adv?: string | null
Notional ADV (adv × previous_close). The primary liquidity signal
used by /instruments/search ranking. Computed at response time so
it stays consistent with whatever adv and previous_close show.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
V1Omni AI
ModelsExpand Collapse
ContentPartStructuredActionPayload { action, action_id }
Structured action content part.
Structured actions that Omni AI can return to clients.
These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.
PrefillOrder { prefill_order }
OpenEntitlementConsent { open_entitlement_consent }
Open entitlement consent flow
open_entitlement_consent: OpenEntitlementConsentAction { agreement_key, reason, requested_entitlement_codes, trading_account_ids }
PrefillNewOrderAction { orders }
New-order prefill action.
Orders to prefill using the same shape accepted by the orders API.
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id?: string | null
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at?: string | null
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours?: boolean | null
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
symbol?: string | null
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.
PrefillOrderAction = PrefillNewOrderAction { action_type } | PrefillCancelOrderAction { action_type }
Action to prefill order details for user confirmation.
The user must review and authorize the order before submission to the trading API. This action provides parsed order data that can be used to prefill an order ticket UI or submitted directly via the orders API after user confirmation.
StructuredAction = PrefillOrder { prefill_order } | OpenChart { open_chart } | OpenScreener { open_screener } | OpenEntitlementConsent { open_entitlement_consent }
Structured actions that Omni AI can return to clients.
These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.
PrefillOrder { prefill_order }
OpenEntitlementConsent { open_entitlement_consent }
Open entitlement consent flow
open_entitlement_consent: OpenEntitlementConsentAction { agreement_key, reason, requested_entitlement_codes, trading_account_ids }
V1Omni AIEntitlements
Thread-centric AI assistant for conversational trading. Create threads to start conversations, poll response objects for in-progress output, and read finalized messages from thread history. Thread/message/response endpoints require an explicit account_id. Entitlement endpoints are caller-scoped and use trading_account_ids.
Get Entitlements
Create Entitlements
Delete Entitlement
Get Entitlement Agreements
ModelsExpand Collapse
EntitlementAgreementResourceList = Array<EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more } >
EntitlementResourceList = Array<EntitlementResource { agreement_id, entitlement_code, entitlement_id, 2 more } >
V1Omni AIMessages
Thread-centric AI assistant for conversational trading. Create threads to start conversations, poll response objects for in-progress output, and read finalized messages from thread history. Thread/message/response endpoints require an explicit account_id. Entitlement endpoints are caller-scoped and use trading_account_ids.
Get Message By ID
Submit Feedback
V1Omni AIResponses
Thread-centric AI assistant for conversational trading. Create threads to start conversations, poll response objects for in-progress output, and read finalized messages from thread history. Thread/message/response endpoints require an explicit account_id. Entitlement endpoints are caller-scoped and use trading_account_ids.
Get Response By ID
Cancel Response
ModelsExpand Collapse
V1Omni AIThreads
Thread-centric AI assistant for conversational trading. Create threads to start conversations, poll response objects for in-progress output, and read finalized messages from thread history. Thread/message/response endpoints require an explicit account_id. Entitlement endpoints are caller-scoped and use trading_account_ids.
Get Threads
Get Thread By ID
Create Thread
Get Thread Response
Get Messages
Create Message
ModelsExpand Collapse
V1Orders
Place, monitor, and manage trading orders.
Get Orders
Get Order By ID
Submit Orders
Replace Order
Cancel Open Order
Cancel All Open Orders
ModelsExpand Collapse
NewOrderRequest { instrument_type, order_type, quantity, 13 more }
Request to submit a new order (PlaceOrderRequest from spec)
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id?: string | null
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at?: string | null
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours?: boolean | null
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
symbol?: string | null
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.
Order { 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.
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.
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.
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.
V1Positions
View positions and manage position instructions.
Get Positions
Close Positions
Close Position
List Position Instructions
Submit Position Instructions
Cancel Position Instruction
ModelsExpand Collapse
Position { account_id, available_quantity, instrument_id, 15 more }
Represents a holding of a particular instrument in an account
daily_unrealized_pnl?: string | null
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct?: string | null
The unrealized profit/loss for the position for the current day, expressed as a percentage of the baseline value (range: 0-100).
underlying_instrument_id?: string | null
OEMS instrument identifier of the underlying instrument, if resolvable
PositionInstruction { id, account_id, instruction_id, 9 more }
A position instruction and its current lifecycle state.
instruction_id: string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
accepted_quantity?: string | null
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
instruction_id: string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
accepted_quantity?: string | null
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
daily_unrealized_pnl?: string | null
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct?: string | null
The unrealized profit/loss for the position for the current day, expressed as a percentage of the baseline value (range: 0-100).
underlying_instrument_id?: string | null
OEMS instrument identifier of the underlying instrument, if resolvable
daily_unrealized_pnl?: string | null
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct?: string | null
The unrealized profit/loss for the position for the current day, expressed as a percentage of the baseline value (range: 0-100).
underlying_instrument_id?: string | null
OEMS instrument identifier of the underlying instrument, if resolvable
instruction_id: string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
accepted_quantity?: string | null
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
instruction_id: string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
accepted_quantity?: string | null
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
A position instruction and its current lifecycle state.
instruction_id: string
Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.
accepted_quantity?: string | null
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
V1Watchlist
Create and manage watchlists.
Get Watchlists
Get Watchlist By ID
Create Watchlist
Delete Watchlist
Add Watchlist Item
Delete Watchlist Item
ModelsExpand Collapse
WatchlistDetail { id, created_at, items, name }
Detailed watchlist with all items
Items in the watchlist
Instrument details
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
notional_adv?: string | null
Notional ADV (adv × previous_close). The primary liquidity signal
used by /instruments/search ranking. Computed at response time so
it stays consistent with whatever adv and previous_close show.
WatchlistItemEntry { id, added_at, added_price, instrument }
A single item in a watchlist
Instrument details
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
notional_adv?: string | null
Notional ADV (adv × previous_close). The primary liquidity signal
used by /instruments/search ranking. Computed at response time so
it stays consistent with whatever adv and previous_close show.
Detailed watchlist with all items
Items in the watchlist
Instrument details
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
notional_adv?: string | null
Notional ADV (adv × previous_close). The primary liquidity signal
used by /instruments/search ranking. Computed at response time so
it stays consistent with whatever adv and previous_close show.
V1Websocket
Active Websocket.