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 object { 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: optional MarginDetails { day_trade_count, initial_margin_excess, initial_margin_requirement, 6 more }
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: optional string
The amount of day-trade buying power used during the current trading day.
top_contributors: optional array of MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more }
Optional top margin contributors, returned only when explicitly requested.
MarginDetails object { 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: optional string
The amount of day-trade buying power used during the current trading day.
top_contributors: optional array of MarginTopContributor { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more }
Optional top margin contributors, returned only when explicitly requested.
MarginTopContributor object { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more }
PortfolioHistoryResponse object { segments }
day_pnl: optional string
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl: optional string
P&L after netting all realized and unrealized P&L, adjustments, dividends, change in accruals, income and expenses
PortfolioHistorySegment object { date, eod_equity, realized_pnl, 7 more }
day_pnl: optional string
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl: optional string
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: optional MarginDetails { day_trade_count, initial_margin_excess, initial_margin_requirement, 6 more }
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: optional string
The amount of day-trade buying power used during the current trading day.
top_contributors: optional array of 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: optional string
Sum of the profit and loss from intraday trading activities for the trading day.
net_pnl: optional string
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 object { 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 object { 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 object { event_dates }
All-events payload grouped by date.
Events grouped by date in descending order.
Flat event envelopes for this date.
dividend_event_data: optional InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
instrument_id: optional string
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentBalanceSheetStatementList = array of InstrumentBalanceSheetStatement { accepted_date, filing_date, period, 55 more }
InstrumentCashFlowStatementList = array of InstrumentCashFlowStatement { accepted_date, filing_date, period, 42 more }
InstrumentDividendEvent object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
InstrumentEventEnvelope object { symbol, type, dividend_event_data, 6 more }
Unified envelope for the all-events response.
dividend_event_data: optional InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
instrument_id: optional string
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentEventsByDate object { date, events }
Instrument events for a single date.
Flat event envelopes for this date.
dividend_event_data: optional InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
instrument_id: optional string
OEMS instrument identifier, when the instrument is found in the instrument cache.
InstrumentEventsData object { dividends, earnings, instrument_id, 2 more }
Grouped instrument events by type
dividends: array of InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
InstrumentFundamentals object { average_volume, beta, description, 12 more }
InstrumentIncomeStatement object { accepted_date, filing_date, period, 34 more }
InstrumentIncomeStatementList = array of 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: optional InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
instrument_id: optional string
OEMS instrument identifier, when the instrument is found in the instrument cache.
Grouped instrument events by type
dividends: array of InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
V1Instrument DataMarket Data
Retrieve instrument analytics, market data, news, and related reference data.
Get Snapshots
Get Daily Aggregate Summaries
ModelsExpand Collapse
DailySummary object { 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 object { instrument_id, symbol, cumulative_volume, 4 more }
MarketDataSnapshotList = array of 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 object { 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: optional string
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 object { 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: optional string
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 object { 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 object { prefill_order }
OpenScreener object { open_screener }
OpenEntitlementConsent object { open_entitlement_consent }
Open entitlement consent flow
open_entitlement_consent: OpenEntitlementConsentAction { agreement_key, reason, requested_entitlement_codes, trading_account_ids }
PrefillNewOrderAction object { 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: 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.
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.
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 = object { prefill_order } or object { open_chart } or object { open_screener } or object { 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 object { prefill_order }
OpenScreener object { open_screener }
OpenEntitlementConsent object { 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 of EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more }
EntitlementResourceList = array of 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
ModelsExpand Collapse
Final immutable message.
Finalized immutable message content container. Never includes thinking parts.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
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
Response object { id, status, thread_id, 4 more }
Dynamic pollable response.
Dynamic response content container. May include thinking parts.
ContentPartTextPayload { text }
ContentPartThinkingPayload { thoughts }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
ResponseContent object { parts }
Dynamic response content container. May include thinking parts.
ContentPartTextPayload { text }
ContentPartThinkingPayload { thoughts }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
ResponseContentPart = ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id } or 3 more
Dynamic content part visible on a pollable response.
ContentPartTextPayload { text }
ContentPartThinkingPayload { thoughts }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
Dynamic pollable response.
Dynamic response content container. May include thinking parts.
ContentPartTextPayload { text }
ContentPartThinkingPayload { thoughts }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
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
Message object { id, content, created_at, 5 more }
Final immutable message.
Finalized immutable message content container. Never includes thinking parts.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
MessageContent object { parts }
Finalized immutable message content container. Never includes thinking parts.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
MessageContentPart = ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id } or ContentPartChartPayload { payload } or 2 more
Final immutable content part visible on persisted messages.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
Finalized immutable message content container. Never includes thinking parts.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
Dynamic pollable response.
Dynamic response content container. May include thinking parts.
ContentPartTextPayload { text }
ContentPartThinkingPayload { thoughts }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
Finalized immutable message content container. Never includes thinking parts.
ContentPartTextPayload { text }
ContentPartStructuredActionPayload { action, action_id }
ContentPartChartPayload { payload }
ContentPartSuggestedActionsPayload { payload }
ContentPartCustomPayload { payload }
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 object { 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: 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.
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.
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.
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 object { account_id, available_quantity, instrument_id, 15 more }
Represents a holding of a particular instrument in an account
daily_unrealized_pnl: optional string
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct: optional string
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: optional string
OEMS instrument identifier of the underlying instrument, if resolvable
PositionInstruction object { 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: optional string
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: optional string
Number of contracts accepted by the clearing venue. Populated once
the instruction reaches ACCEPTED.
daily_unrealized_pnl: optional string
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct: optional string
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: optional string
OEMS instrument identifier of the underlying instrument, if resolvable
daily_unrealized_pnl: optional string
The unrealized profit or loss for this position relative to the previous close
daily_unrealized_pnl_pct: optional string
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: optional string
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: optional string
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: optional string
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: optional string
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 object { 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: optional string
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 object { 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: optional string
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: optional string
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.