V1
V1Accounts
Manage trading accounts, balances, and portfolio history.
Get Portfolio History
ModelsExpand Collapse
account_balances: object { account_id, buying_power, currency, 19 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.
sod: object { buying_power, equity, long_market_value, 6 more }
Start-of-day snapshot balances.
asof: optional string
Timestamp for the start-of-day values. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedday_trade_buying_power: optional string
Start-of-day day-trade buying power. When a null/undefined value is observed, it indicates it does not apply.
maintenance_margin_excess: optional string
Start-of-day maintenance margin excess. When a null/undefined value is observed, it indicates it does not apply.
margin_details: optional object { day_trade_count, initial_margin_excess, initial_margin_requirement, 8 more }
Margin-account-only details. When a null/undefined value is observed, it indicates it does not apply.
Deprecatedday_trade_count: number
The number of day trades executed over the 5 most recent trading days.
Deprecatedpattern_day_trader: boolean
true if the account is currently flagged as a PDT, otherwise false.
Deprecatedday_trade_buying_power_usage: optional string
The amount of day-trade buying power used during the current trading day. When null/undefined, the value should be assumed to be zero. The field is omitted to simplify the response.
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.
account_balances_sod: object { buying_power, equity, long_market_value, 6 more }
asof: optional string
Timestamp for the start-of-day values. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedday_trade_buying_power: optional string
Start-of-day day-trade buying power. When a null/undefined value is observed, it indicates it does not apply.
maintenance_margin_excess: optional string
Start-of-day maintenance margin excess. When a null/undefined value is observed, it indicates it does not apply.
margin_details: object { day_trade_count, initial_margin_excess, initial_margin_requirement, 8 more }
Deprecatedday_trade_count: number
The number of day trades executed over the 5 most recent trading days.
Deprecatedpattern_day_trader: boolean
true if the account is currently flagged as a PDT, otherwise false.
Deprecatedday_trade_buying_power_usage: optional string
The amount of day-trade buying power used during the current trading day. When null/undefined, the value should be assumed to be zero. The field is omitted to simplify the response.
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.
margin_top_contributor: object { day_trade_buying_power_usage, initial_margin_requirement, maintenance_margin_requirement, 2 more }
portfolio_history_response: 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
portfolio_history_segment: 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
V1API Version
Endpoints for API service metadata.
V1Calendar
Access clocks and financial calendars for market sessions and events.
ModelsExpand Collapse
market_hours_detail: object { current_time, date, market, 5 more }
Comprehensive market hours information for a specific market and date
next_sessions: object { after_hours, pre_market, regular }
Next trading day’s session schedules (without time_until fields)
after_hours: optional object { close, open, time_until_close, time_until_open }
After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
pre_market: optional object { close, open, time_until_close, time_until_open }
Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
regular: optional object { close, open, time_until_close, time_until_open }
Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.
status: object { day_type, is_open, current_session }
today_sessions: object { after_hours, pre_market, regular }
Trading session schedules for the requested date with time_until fields
after_hours: optional object { close, open, time_until_close, time_until_open }
After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
pre_market: optional object { close, open, time_until_close, time_until_open }
Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
regular: optional object { close, open, time_until_close, time_until_open }
Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.
next_sessions: object { after_hours, pre_market, regular }
Next trading day’s session schedules (without time_until fields)
after_hours: optional object { close, open, time_until_close, time_until_open }
After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
pre_market: optional object { close, open, time_until_close, time_until_open }
Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
regular: optional object { close, open, time_until_close, time_until_open }
Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.
status: object { day_type, is_open, current_session }
today_sessions: object { after_hours, pre_market, regular }
Trading session schedules for the requested date with time_until fields
after_hours: optional object { close, open, time_until_close, time_until_open }
After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
pre_market: optional object { close, open, time_until_close, time_until_open }
Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
regular: optional object { close, open, time_until_close, time_until_open }
Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.
session_schedule: object { close, open, time_until_close, time_until_open }
trading_sessions: object { after_hours, pre_market, regular }
Trading sessions for a market day with full timestamps
after_hours: optional object { close, open, time_until_close, time_until_open }
After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
pre_market: optional object { close, open, time_until_close, time_until_open }
Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.
regular: optional object { close, open, time_until_close, time_until_open }
Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.
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
instrument_all_events_data: 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 object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.
declaration_date: optional string
The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.
dividend_amount: optional string
The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.
frequency: optional string
The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.
earnings_event_data: optional object { date, eps_actual, eps_estimate, 4 more }
Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.
eps_actual: optional string
The actual earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_estimate: optional string
The estimated earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_surprise_percent: optional string
The percentage difference between actual and estimated EPS When a null/undefined value is observed, it indicates that there is no available data.
revenue_actual: optional string
The actual total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.
instrument_id: optional string
Instrument identifier, when available. When a null/undefined value is observed, it indicates that there is no available data.
ipo_event_data: optional object { actions, announced_at, company, 4 more }
IPO payload when type is IPO. When a null/undefined value is observed, it indicates it does not apply.
actions: optional string
IPO action. When a null/undefined value is observed, it indicates that there is no available data.
announced_at: optional string
IPO announced timestamp. When a null/undefined value is observed, it indicates that there is no available data.
company: optional string
IPO company name. When a null/undefined value is observed, it indicates that there is no available data.
exchange: optional string
IPO exchange. When a null/undefined value is observed, it indicates that there is no available data.
market_cap: optional string
IPO market cap. When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
Instrument name associated with the event, when available. When a null/undefined value is observed, it indicates that there is no available data.
reporting_currency: optional string
The currency used for reporting financial data. When a null/undefined value is observed, it indicates that there is no available data.
instrument_analyst_consensus: object { date, distribution, price_target, rating }
Aggregated analyst consensus metrics
distribution: optional object { buy, hold, sell, 2 more }
Count of individual analyst recommendations by category When a null/undefined value is observed, it indicates that there is no available data.
instrument_balance_sheet_statement: object { accepted_date, filing_date, period, 55 more }
instrument_balance_sheet_statement_list: array of InstrumentBalanceSheetStatement { accepted_date, filing_date, period, 55 more }
instrument_cash_flow_statement: object { accepted_date, filing_date, period, 42 more }
instrument_cash_flow_statement_list: array of InstrumentCashFlowStatement { accepted_date, filing_date, period, 42 more }
instrument_dividend_event: object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
Represents a dividend event for an instrument
declaration_date: optional string
The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.
dividend_amount: optional string
The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.
frequency: optional string
The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.
instrument_earnings: object { date, eps_actual, eps_estimate, 4 more }
Represents instrument earnings data
eps_actual: optional string
The actual earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_estimate: optional string
The estimated earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_surprise_percent: optional string
The percentage difference between actual and estimated EPS When a null/undefined value is observed, it indicates that there is no available data.
revenue_actual: optional string
The actual total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.
instrument_event_envelope: object { symbol, type, dividend_event_data, 6 more }
Unified envelope for the all-events response.
dividend_event_data: optional object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.
declaration_date: optional string
The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.
dividend_amount: optional string
The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.
frequency: optional string
The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.
earnings_event_data: optional object { date, eps_actual, eps_estimate, 4 more }
Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.
eps_actual: optional string
The actual earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_estimate: optional string
The estimated earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_surprise_percent: optional string
The percentage difference between actual and estimated EPS When a null/undefined value is observed, it indicates that there is no available data.
revenue_actual: optional string
The actual total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.
instrument_id: optional string
Instrument identifier, when available. When a null/undefined value is observed, it indicates that there is no available data.
ipo_event_data: optional object { actions, announced_at, company, 4 more }
IPO payload when type is IPO. When a null/undefined value is observed, it indicates it does not apply.
actions: optional string
IPO action. When a null/undefined value is observed, it indicates that there is no available data.
announced_at: optional string
IPO announced timestamp. When a null/undefined value is observed, it indicates that there is no available data.
company: optional string
IPO company name. When a null/undefined value is observed, it indicates that there is no available data.
exchange: optional string
IPO exchange. When a null/undefined value is observed, it indicates that there is no available data.
market_cap: optional string
IPO market cap. When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
Instrument name associated with the event, when available. When a null/undefined value is observed, it indicates that there is no available data.
reporting_currency: optional string
The currency used for reporting financial data. When a null/undefined value is observed, it indicates that there is no available data.
instrument_event_ipo_item: object { actions, announced_at, company, 4 more }
IPO event in the all-events date grouping response.
actions: optional string
IPO action. When a null/undefined value is observed, it indicates that there is no available data.
announced_at: optional string
IPO announced timestamp. When a null/undefined value is observed, it indicates that there is no available data.
company: optional string
IPO company name. When a null/undefined value is observed, it indicates that there is no available data.
exchange: optional string
IPO exchange. When a null/undefined value is observed, it indicates that there is no available data.
market_cap: optional string
IPO market cap. When a null/undefined value is observed, it indicates that there is no available data.
instrument_events_by_date: object { date, events }
Instrument events for a single date.
Flat event envelopes for this date.
dividend_event_data: optional object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }
Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.
declaration_date: optional string
The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.
dividend_amount: optional string
The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.
frequency: optional string
The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.
earnings_event_data: optional object { date, eps_actual, eps_estimate, 4 more }
Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.
eps_actual: optional string
The actual earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_estimate: optional string
The estimated earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_surprise_percent: optional string
The percentage difference between actual and estimated EPS When a null/undefined value is observed, it indicates that there is no available data.
revenue_actual: optional string
The actual total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.
instrument_id: optional string
Instrument identifier, when available. When a null/undefined value is observed, it indicates that there is no available data.
ipo_event_data: optional object { actions, announced_at, company, 4 more }
IPO payload when type is IPO. When a null/undefined value is observed, it indicates it does not apply.
actions: optional string
IPO action. When a null/undefined value is observed, it indicates that there is no available data.
announced_at: optional string
IPO announced timestamp. When a null/undefined value is observed, it indicates that there is no available data.
company: optional string
IPO company name. When a null/undefined value is observed, it indicates that there is no available data.
exchange: optional string
IPO exchange. When a null/undefined value is observed, it indicates that there is no available data.
market_cap: optional string
IPO market cap. When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
Instrument name associated with the event, when available. When a null/undefined value is observed, it indicates that there is no available data.
reporting_currency: optional string
The currency used for reporting financial data. When a null/undefined value is observed, it indicates that there is no available data.
instrument_events_data: 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 }
Dividend distribution events
declaration_date: optional string
The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.
dividend_amount: optional string
The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.
frequency: optional string
The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.
Earnings announcement events
eps_actual: optional string
The actual earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_estimate: optional string
The estimated earnings per share (EPS) for the period When a null/undefined value is observed, it indicates that there is no available data.
eps_surprise_percent: optional string
The percentage difference between actual and estimated EPS When a null/undefined value is observed, it indicates that there is no available data.
revenue_actual: optional string
The actual total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.
instrument_fundamentals: object { average_volume, beta, description, 12 more }
Supplemental fundamentals and company profile data for an instrument.
average_volume: optional number
The average daily trading volume over the past 30 days When a null/undefined value is observed, it indicates that there is no available data.
beta: optional string
The beta value, measuring the instrument’s volatility relative to the overall market When a null/undefined value is observed, it indicates that there is no available data.
description: optional string
A detailed description of the instrument or company When a null/undefined value is observed, it indicates that there is no available data.
dividend_yield: optional string
The trailing twelve months (TTM) dividend yield When a null/undefined value is observed, it indicates that there is no available data.
earnings_per_share: optional string
The trailing twelve months (TTM) earnings per share When a null/undefined value is observed, it indicates that there is no available data.
fifty_two_week_high: optional string
The highest price over the last 52 weeks When a null/undefined value is observed, it indicates that there is no available data.
fifty_two_week_low: optional string
The lowest price over the last 52 weeks When a null/undefined value is observed, it indicates that there is no available data.
industry: optional string
The specific industry of the instrument’s issuer When a null/undefined value is observed, it indicates that there is no available data.
list_date: optional string
The date the instrument was first listed When a null/undefined value is observed, it indicates that there is no available data.
logo_url: optional string
URL to a representative logo image for the instrument or issuer When a null/undefined value is observed, it indicates that there is no available data.
market_cap: optional string
The total market capitalization When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
The closing price from the previous trading day When a null/undefined value is observed, it indicates that there is no available data.
price_to_earnings: optional string
The price-to-earnings (P/E) ratio for the trailing twelve months (TTM) When a null/undefined value is observed, it indicates that there is no available data.
instrument_income_statement: object { accepted_date, filing_date, period, 34 more }
A quarterly income statement for an instrument.
instrument_income_statement_list: array of InstrumentIncomeStatement { accepted_date, filing_date, period, 34 more }
V1Instrument DataMarket Data
Retrieve instrument analytics, market data, news, and related reference data.
Get Daily Aggregate Summaries
ModelsExpand Collapse
daily_summary: 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).
high: optional string
Session high. When a null/undefined value is observed, it indicates that there is no available data.
low: optional string
Session low. When a null/undefined value is observed, it indicates that there is no available data.
open: optional string
Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.
symbol: optional string
Display symbol for the security. None for unresolvable IDs.
When a null/undefined value is observed, it indicates that there is no available data.
high: optional string
Session high. When a null/undefined value is observed, it indicates that there is no available data.
low: optional string
Session low. When a null/undefined value is observed, it indicates that there is no available data.
open: optional string
Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.
symbol: optional string
Display symbol for the security. None for unresolvable IDs.
When a null/undefined value is observed, it indicates that there is no available data.
market_data_snapshot: object { instrument_id, symbol, cumulative_volume, 5 more }
Market data snapshot for a single security.
cumulative_volume: optional number
Cumulative traded volume reported on the most recent trade, in shares for equities or contracts for options. Absent when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.
greeks: optional object { delta, gamma, iv, 5 more }
Theoretical price and Greeks for option instruments. None for
equities, and for options whose Greeks have not yet been observed
When a null/undefined value is observed, it indicates that there is no available data.
last_quote: optional object { ask, ask_size, bid, 2 more }
Most recent quote if available. When a null/undefined value is observed, it indicates that there is no available data.
ask: optional string
Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
ask_size: optional number
Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid: optional string
Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
Security name if available. When a null/undefined value is observed, it indicates that there is no available data.
market_data_snapshot_list: array of MarketDataSnapshot { instrument_id, symbol, cumulative_volume, 5 more }
cumulative_volume: optional number
Cumulative traded volume reported on the most recent trade, in shares for equities or contracts for options. Absent when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.
greeks: optional object { delta, gamma, iv, 5 more }
Theoretical price and Greeks for option instruments. None for
equities, and for options whose Greeks have not yet been observed
When a null/undefined value is observed, it indicates that there is no available data.
last_quote: optional object { ask, ask_size, bid, 2 more }
Most recent quote if available. When a null/undefined value is observed, it indicates that there is no available data.
ask: optional string
Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
ask_size: optional number
Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid: optional string
Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
Security name if available. When a null/undefined value is observed, it indicates that there is no available data.
snapshot_quote: object { ask, ask_size, bid, 2 more }
L1 quote fields for a market data snapshot.
ask: optional string
Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
ask_size: optional number
Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid: optional string
Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.
V1Instrument DataNews
Retrieve instrument analytics, market data, news, and related reference data.
ModelsExpand Collapse
news_item: object { instruments, news_type, published_at, 6 more }
A single news item and its associated instruments.
image_url: optional string
URL of an associated image if provided by the source. When a null/undefined value is observed, it indicates that there is no available data.
image_url: optional string
URL of an associated image if provided by the source. When a null/undefined value is observed, it indicates that there is no available data.
V1Instruments
Retrieve core details and discovery endpoints for tradable instruments.
ModelsExpand Collapse
instrument: object { id, country_of_issue, currency, 20 more }
Represents a tradable financial instrument.
is_ptp: boolean
Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
adv: optional string
Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedexpiry: optional string
Deprecated. Always null. When a null/undefined value is observed, it indicates it does not apply.
long_margin_rate: optional string
The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.
notional_adv: optional string
Notional average daily volume (ADV multiplied by previous close price). When a null/undefined value is observed, it indicates that there is no available data.
options_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
previous_close: optional string
Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
instrument_core: object { id, country_of_issue, currency, 19 more }
is_ptp: boolean
Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
adv: optional string
Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedexpiry: optional string
Deprecated. Always null. When a null/undefined value is observed, it indicates it does not apply.
long_margin_rate: optional string
The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.
notional_adv: optional string
Notional average daily volume (ADV multiplied by previous close price). When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
is_ptp: boolean
Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
adv: optional string
Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedexpiry: optional string
Deprecated. Always null. When a null/undefined value is observed, it indicates it does not apply.
long_margin_rate: optional string
The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.
notional_adv: optional string
Notional average daily volume (ADV multiplied by previous close price). When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
V1Omni AI
ModelsExpand Collapse
chart_payload: object { chartId, actionButtons, dataChart }
Typed chart payload rendered inline in assistant content.
content_part_chart_payload: object { payload }
Chart payload content part.
payload: object { chartId, actionButtons, dataChart }
Typed chart payload rendered inline in assistant content.
content_part_structured_action_payload: object { action, action_id }
Structured action content part.
action: 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 }
OpenChart: object { open_chart }
OpenScreener: object { open_screener }
Open a stock screener with filters
open_screener: object { filters, columns, field_filter, 3 more }
Open a stock screener with filters
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
content_part_suggested_actions_payload: object { payload }
open_screener_action: object { filters, columns, field_filter, 3 more }
Action to open a stock screener with filters.
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
prefill_new_order_action: 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.
structured_action: 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 }
OpenChart: object { open_chart }
OpenScreener: object { open_screener }
Open a stock screener with filters
open_screener: object { filters, columns, field_filter, 3 more }
Open a stock screener with filters
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
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 account_ids.
Delete Entitlement
Get Entitlement Agreements
ModelsExpand Collapse
entitlement_agreement_resource_list: array of EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more }
entitlement_resource_list: 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 account_ids.
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 account_ids.
Get Response By ID
ModelsExpand Collapse
response: object { id, status, thread_id, 4 more }
response_content_part: ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id } or 3 more
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 account_ids.
Get Thread Response
ModelsExpand Collapse
message_content_part: ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id } or ContentPartChartPayload { payload } or 2 more
V1Orders
Place, monitor, and manage trading orders.
Cancel Open Order
ModelsExpand Collapse
new_order_request: object { order_type, quantity, side, 12 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.
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.
average_fill_price: optional string
Average fill price across all executions 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.
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.
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 When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_ts: optional string
Trailing watermark timestamp for trailing orders 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 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.
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.
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 When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_ts: optional string
Trailing watermark timestamp for trailing orders 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.
V1Positions
View positions and manage position instructions.
Close Position
Get Position Instructions
Submit Position Instructions
Cancel Position Instruction
ModelsExpand Collapse
position: object { account_id, available_quantity, instrument_id, 16 more }
Represents a holding of a particular instrument in an account
avg_price: optional string
The average price paid per share or contract for this position When a null/undefined value is observed, it indicates that there is no available data.
closing_price: optional string
The closing price used to value the position for the last trading day When a null/undefined value is observed, it indicates that there is no available data.
closing_price_date: optional string
The market date associated with closing_price
When a null/undefined value is observed, it indicates that there is no available data.
cost_basis: optional string
The total cost basis for this position When a null/undefined value is observed, it indicates that there is no available data.
daily_realized_pnl: optional string
The realized profit or loss for this position for the current day When a null/undefined value is observed, it indicates that there is no available data.
daily_unrealized_pnl: optional string
The unrealized profit or loss for this position relative to the previous close When a null/undefined value is observed, it indicates that there is no available data.
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). When a null/undefined value is observed, it indicates that there is no available data.
instrument_price: optional string
The current market price of the instrument When a null/undefined value is observed, it indicates that there is no available data.
underlying_instrument_id: optional string
Identifier of the underlying instrument, when available When a null/undefined value is observed, it indicates it does not apply.
position_instruction: 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.
When a null/undefined value is observed, it indicates that there is no available data.
created_at: optional string
When the instruction was first accepted by the service. When a null/undefined value is observed, it indicates that there is no available data.
rejection_reason: optional string
Human-readable explanation populated on any non-success terminal
status — REJECTED or CANCEL_FAILED. On a
207 Multi-Status batch submit the top-level error field
summarizes the batch; per-row detail continues to live here.
When a null/undefined value is observed, it indicates it does not apply.
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.
When a null/undefined value is observed, it indicates that there is no available data.
created_at: optional string
When the instruction was first accepted by the service. When a null/undefined value is observed, it indicates that there is no available data.
rejection_reason: optional string
Human-readable explanation populated on any non-success terminal
status — REJECTED or CANCEL_FAILED. On a
207 Multi-Status batch submit the top-level error field
summarizes the batch; per-row detail continues to live here.
When a null/undefined value is observed, it indicates it does not apply.
position_instruction_status: "SENT" or "ACCEPTED" or "REJECTED" or 4 more
Lifecycle status of a position instruction.
SENT: accepted and submitted to the clearing venue.ACCEPTED: terminal — accepted by the clearing venue.REJECTED: terminal rejection;rejection_reasoncarries the detail. Covers both venue-reported rejections and rejections raised before the instruction reached the clearing venue (e.g. duplicateinstruction_id,DO_NOT_EXERCISE/CONTRARY_EXERCISEsubmitted on a non-expiry day, insufficient position, or an instrument that does not resolve).CANCEL_REQUESTED: cancel accepted; final cancel state pending.CANCELLED: terminal — cancel completed.CANCEL_FAILED: cancel could not be completed; operator attention required.rejection_reasoncarries the detail.UNKNOWN: status could not be determined.
avg_price: optional string
The average price paid per share or contract for this position When a null/undefined value is observed, it indicates that there is no available data.
closing_price: optional string
The closing price used to value the position for the last trading day When a null/undefined value is observed, it indicates that there is no available data.
closing_price_date: optional string
The market date associated with closing_price
When a null/undefined value is observed, it indicates that there is no available data.
cost_basis: optional string
The total cost basis for this position When a null/undefined value is observed, it indicates that there is no available data.
daily_realized_pnl: optional string
The realized profit or loss for this position for the current day When a null/undefined value is observed, it indicates that there is no available data.
daily_unrealized_pnl: optional string
The unrealized profit or loss for this position relative to the previous close When a null/undefined value is observed, it indicates that there is no available data.
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). When a null/undefined value is observed, it indicates that there is no available data.
instrument_price: optional string
The current market price of the instrument When a null/undefined value is observed, it indicates that there is no available data.
underlying_instrument_id: optional string
Identifier of the underlying instrument, when available When a null/undefined value is observed, it indicates it does not apply.
V1Screener
Search instruments and manage saved screeners.
ModelsExpand Collapse
screener_column: object { field, name, value, type }
screener_entry: object { id, created_at, filters, 5 more }
A saved screener configuration entry
left: object { name, lookback, period, value_type }
op: optional object { name, args }
left: object { name, lookback, period, value_type }
op: optional object { name, args }
search_filter: object { left, op, right }
A single filter condition.
When op and right are both absent, the filter is “unenabled”:
it persists a left field reference without applying any predicate.
Unenabled filters are skipped during search execution but still
round-trip through save/load so callers can preserve draft state.
left: object { name, lookback, period, value_type }
op: optional object { name, args }
V1Watchlist
Create and manage watchlists.
Delete Watchlist Item
ModelsExpand Collapse
watchlist_detail: object { id, created_at, items, name }
Detailed watchlist with all items
Items in the watchlist
added_price: optional string
Price when the item was added When a null/undefined value is observed, it indicates that there is no available data.
instrument: optional object { id, country_of_issue, currency, 20 more }
Instrument details When a null/undefined value is observed, it indicates that there is no available data.
is_ptp: boolean
Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
adv: optional string
Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedexpiry: optional string
Deprecated. Always null. When a null/undefined value is observed, it indicates it does not apply.
long_margin_rate: optional string
The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.
notional_adv: optional string
Notional average daily volume (ADV multiplied by previous close price). When a null/undefined value is observed, it indicates that there is no available data.
options_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
previous_close: optional string
Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
watchlist_item_entry: object { id, added_at, added_price, instrument }
A single item in a watchlist
added_price: optional string
Price when the item was added When a null/undefined value is observed, it indicates that there is no available data.
instrument: optional object { id, country_of_issue, currency, 20 more }
Instrument details When a null/undefined value is observed, it indicates that there is no available data.
is_ptp: boolean
Indicates if the instrument is a publicly traded partnership (PTP). PTP sales are subject to a 10% withholding tax for non-US tax residents.
is_threshold_security: boolean
Indicates if the instrument is on the Regulation SHO Threshold Security List
adv: optional string
Average daily share volume from the security definition. When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedexpiry: optional string
Deprecated. Always null. When a null/undefined value is observed, it indicates it does not apply.
long_margin_rate: optional string
The percent of a long position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
name: optional string
The full name of the instrument or its issuer When a null/undefined value is observed, it indicates that there is no available data.
notional_adv: optional string
Notional average daily volume (ADV multiplied by previous close price). When a null/undefined value is observed, it indicates that there is no available data.
options_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
previous_close: optional string
Last close price from the security definition. When a null/undefined value is observed, it indicates that there is no available data.