V1
V1Accounts
Manage trading accounts, balances, and portfolio history.
Get Portfolio History
ModelsExpand Collapse
account_balances: object { account_id, buying_power, currency, 18 more }
Represents the balance details for a trading account
buying_power: string
The total buying power available in the account: base buying power plus the open order adjustment, where base buying power is maintenance margin excess times the multiplier for intraday and initial margin excess times the multiplier for overnight.
daily_unrealized_pnl: string
Total unrealized profit or loss across all positions relative to prior close.
equity: string
The total equity in the account: cash plus long market value plus short market value, where short market value is negative.
open_order_adjustment: string
Buying power correction from open orders, computed as projected buying power minus actual buying power. A negative value means open orders are consuming buying power.
sod: object { buying_power, equity, long_market_value, 5 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.
maintenance_margin_excess: optional string
Start-of-day maintenance margin excess: the difference between equity and the maintenance margin requirement. When a null/undefined value is observed, it indicates it does not apply.
margin_details: optional object { initial_margin_excess, initial_margin_requirement, intraday_details, 5 more }
Margin-account-only details. When a null/undefined value is observed, it indicates it does not apply.
intraday_details: object { buying_power, multiplier }
Intraday session margin calculation details.
maintenance_margin_excess: string
The difference between equity and the maintenance margin requirement.
overnight_details: object { buying_power, multiplier }
Overnight session margin calculation details.
top_contributors: optional array of MarginTopContributor { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }
account_balances_sod: object { buying_power, equity, long_market_value, 5 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.
maintenance_margin_excess: optional string
Start-of-day maintenance margin excess: the difference between equity and the maintenance margin requirement. When a null/undefined value is observed, it indicates it does not apply.
account_with_personal_details: object { id, account_holder_entity_id, account_holder_entity_kind, 12 more }
Represents a trading account
close_date: optional string
The date the account was closed, if applicable When a null/undefined value is observed, it indicates it does not apply.
country_of_tax_residency: optional string
The country of tax residency of the account-holder entity. null
when not on file or entity reference data is unavailable.
When a null/undefined value is observed, it indicates that there is no available data.
date_of_birth: optional string
The date of birth of the account holder’s primary contact. null
when not on file or entity reference data is unavailable.
When a null/undefined value is observed, it indicates that there is no available data.
mailing_address: optional object { city, country, line1, 3 more }
The mailing address of the account-holder entity. null when no
mailing address is on file or entity reference data is unavailable.
When a null/undefined value is observed, it indicates that there is no available data.
margin_details: object { initial_margin_excess, initial_margin_requirement, intraday_details, 5 more }
intraday_details: object { buying_power, multiplier }
Intraday session margin calculation details.
maintenance_margin_excess: string
The difference between equity and the maintenance margin requirement.
overnight_details: object { buying_power, multiplier }
Overnight session margin calculation details.
top_contributors: optional array of MarginTopContributor { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }
margin_session_details: object { buying_power, multiplier }
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, overnight, 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.
overnight: optional object { close, open, time_until_close, time_until_open }
Overnight session schedule (prior evening through early morning), 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, overnight, 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.
overnight: optional object { close, open, time_until_close, time_until_open }
Overnight session schedule (prior evening through early morning), 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, overnight, 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.
overnight: optional object { close, open, time_until_close, time_until_open }
Overnight session schedule (prior evening through early morning), 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, overnight, 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.
overnight: optional object { close, open, time_until_close, time_until_open }
Overnight session schedule (prior evening through early morning), 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, overnight, 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.
overnight: optional object { close, open, time_until_close, time_until_open }
Overnight session schedule (prior evening through early morning), 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, 5 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, 5 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, 5 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, 5 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, 3 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.
IPO events
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_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 }
instrument_ipo_event: object { date, actions, announced_at, 5 more }
Represents an IPO event for an instrument
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.
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, 6 more }
Daily aggregate (OHLV) summary for a single instrument.
Returned by GET /market-data/daily-summary. Every field except
instrument_id and not_applicable is Option:
- Unresolvable
instrument_id→ all other fieldsNone(includingsymbol). - Resolvable
instrument_idwith no realtime cache entry →symbolpopulated, OHLV/trade_date/open_interestNone. trade_datereflects the session the OHLV represents (today during trading hours, the last trading date during weekends/holidays).open_interestis populated for options only;Nonefor equities and indices.not_applicableis a non-optionalbool, always serialized:truefor instrument types with no daily summary by definition (e.g. an index, whose OHLV/trade_dateareNone),falseotherwise.
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.
not_applicable: optional boolean
true when the instrument type has no daily summary by definition (e.g. an
index). Distinguishes an intentional N/A from OHLV that is merely not loaded
yet. false for instruments that can have a summary.
open: optional string
Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.
open_interest: optional number
Open interest (outstanding contracts). Populated for options only;
None for equities and indices.
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.
not_applicable: optional boolean
true when the instrument type has no daily summary by definition (e.g. an
index). Distinguishes an intentional N/A from OHLV that is merely not loaded
yet. false for instruments that can have a summary.
open: optional string
Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.
open_interest: optional number
Open interest (outstanding contracts). Populated for options only;
None for equities and indices.
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, session, short_sale_restricted, 7 more }
Market data snapshot for a single security.
session: object { ohlv_applicable, change, change_percent, 7 more }
Session-level pricing and OHLV metrics. Always present; each inner field is independently nullable.
ohlv_applicable: boolean
false only for instrument types with no OHLV by definition (e.g. an
index instrument, whose price is a computed level rather than a
traded security) — open/high/low/ohlv_date/cumulative_volume
are then always absent. true otherwise, even when those fields
simply haven’t loaded yet. Always serialized.
change: optional string
Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.
change_percent: optional string
Percent change from previous close to the most recent
last-sale-eligible trade. Absent under the same conditions as
change.
When a null/undefined value is observed, it indicates that there is no available data.
cumulative_volume: optional number
Cumulative traded volume for the current session, in shares for
equities or contracts for options. Always reflects the current
session, even when ohlv_date trails it. Absent when
ohlv_applicable is false, or when no trade is available.
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.
ohlv_date: optional string
Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.
open: optional string
Session opening price, from the day’s OHLC bar. Absent when
ohlv_applicable is false, or when the bar has not loaded yet.
When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.
previous_close_unadjusted: optional string
Unadjusted (raw) previous session close. Present only when a
corporate-action adjustment exists for the previous close date; when no
adjustment exists, previous_close is the raw close and this field is
omitted.
When a null/undefined value is observed, it indicates that there is no available data.
short_sale_restricted: boolean
Whether the SEC Rule 201 short-sale price test is currently restricting short sales in this security, from the trading-status feed.
true restricts non-exempt short sales at or below the national best
bid. null means we have no answer, either because no trading status
has been seen for this security yet or because Rule 201 does not cover
this security type. A null is not a statement that short selling is
unrestricted, and must not be treated as clear to short.
This is the current market condition, not a statement about whether
Clear Street will reject your order. It is also distinct from
is_short_prohibited on the instrument endpoints, which is a standing
property of the security rather than a live circuit breaker.
When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedcumulative_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.
Deprecated: use session.cumulative_volume, the same value from the
same source.
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, ask_timestamp, 6 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.
ask_timestamp: optional string
Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
ask_venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best offer (NBBO). Absent when the ask side carries no venue. 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.
bid_size: optional number
Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid_timestamp: optional string
Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
last_trade: optional object { price, size, timestamp, venue }
Most recent last-sale-eligible trade if available. Omitted when the most recent known print is ineligible (e.g. an odd lot or an out-of-sequence report) rather than showing that print’s price. When a null/undefined value is observed, it indicates that there is no available data.
price: string
Most recent last-sale eligible trade price. For index instruments, the current index level.
size: number
Share quantity of the most recent last-sale eligible trade. Always 0
for index instruments, whose level is computed rather than traded.
timestamp: optional string
Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.
market_data_snapshot_list: array of MarketDataSnapshot { instrument_id, session, short_sale_restricted, 7 more }
session: object { ohlv_applicable, change, change_percent, 7 more }
Session-level pricing and OHLV metrics. Always present; each inner field is independently nullable.
ohlv_applicable: boolean
false only for instrument types with no OHLV by definition (e.g. an
index instrument, whose price is a computed level rather than a
traded security) — open/high/low/ohlv_date/cumulative_volume
are then always absent. true otherwise, even when those fields
simply haven’t loaded yet. Always serialized.
change: optional string
Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.
change_percent: optional string
Percent change from previous close to the most recent
last-sale-eligible trade. Absent under the same conditions as
change.
When a null/undefined value is observed, it indicates that there is no available data.
cumulative_volume: optional number
Cumulative traded volume for the current session, in shares for
equities or contracts for options. Always reflects the current
session, even when ohlv_date trails it. Absent when
ohlv_applicable is false, or when no trade is available.
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.
ohlv_date: optional string
Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.
open: optional string
Session opening price, from the day’s OHLC bar. Absent when
ohlv_applicable is false, or when the bar has not loaded yet.
When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.
previous_close_unadjusted: optional string
Unadjusted (raw) previous session close. Present only when a
corporate-action adjustment exists for the previous close date; when no
adjustment exists, previous_close is the raw close and this field is
omitted.
When a null/undefined value is observed, it indicates that there is no available data.
short_sale_restricted: boolean
Whether the SEC Rule 201 short-sale price test is currently restricting short sales in this security, from the trading-status feed.
true restricts non-exempt short sales at or below the national best
bid. null means we have no answer, either because no trading status
has been seen for this security yet or because Rule 201 does not cover
this security type. A null is not a statement that short selling is
unrestricted, and must not be treated as clear to short.
This is the current market condition, not a statement about whether
Clear Street will reject your order. It is also distinct from
is_short_prohibited on the instrument endpoints, which is a standing
property of the security rather than a live circuit breaker.
When a null/undefined value is observed, it indicates that there is no available data.
Deprecatedcumulative_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.
Deprecated: use session.cumulative_volume, the same value from the
same source.
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, ask_timestamp, 6 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.
ask_timestamp: optional string
Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
ask_venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best offer (NBBO). Absent when the ask side carries no venue. 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.
bid_size: optional number
Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid_timestamp: optional string
Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
last_trade: optional object { price, size, timestamp, venue }
Most recent last-sale-eligible trade if available. Omitted when the most recent known print is ineligible (e.g. an odd lot or an out-of-sequence report) rather than showing that print’s price. When a null/undefined value is observed, it indicates that there is no available data.
price: string
Most recent last-sale eligible trade price. For index instruments, the current index level.
size: number
Share quantity of the most recent last-sale eligible trade. Always 0
for index instruments, whose level is computed rather than traded.
timestamp: optional string
Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.
snapshot_last_trade: object { price, size, timestamp, venue }
Last-trade fields for a market data snapshot.
For index instruments this carries the current index level — a computed
value, not a trade: price is the level and size is always 0 (no
contract changes hands).
price: string
Most recent last-sale eligible trade price. For index instruments, the current index level.
size: number
Share quantity of the most recent last-sale eligible trade. Always 0
for index instruments, whose level is computed rather than traded.
timestamp: optional string
Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.
snapshot_quote: object { ask, ask_size, ask_timestamp, 6 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.
ask_timestamp: optional string
Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
ask_venue: optional string
ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best offer (NBBO). Absent when the ask side carries no venue. 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.
bid_size: optional number
Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.
bid_timestamp: optional string
Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.
snapshot_session: object { ohlv_applicable, change, change_percent, 7 more }
Session-level pricing and OHLV metrics for a market data snapshot. Always
present on the snapshot row; every field here is independently nullable
except ohlv_applicable.
ohlv_applicable: boolean
false only for instrument types with no OHLV by definition (e.g. an
index instrument, whose price is a computed level rather than a
traded security) — open/high/low/ohlv_date/cumulative_volume
are then always absent. true otherwise, even when those fields
simply haven’t loaded yet. Always serialized.
change: optional string
Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.
change_percent: optional string
Percent change from previous close to the most recent
last-sale-eligible trade. Absent under the same conditions as
change.
When a null/undefined value is observed, it indicates that there is no available data.
cumulative_volume: optional number
Cumulative traded volume for the current session, in shares for
equities or contracts for options. Always reflects the current
session, even when ohlv_date trails it. Absent when
ohlv_applicable is false, or when no trade is available.
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.
ohlv_date: optional string
Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.
open: optional string
Session opening price, from the day’s OHLC bar. Absent when
ohlv_applicable is false, or when the bar has not loaded yet.
When a null/undefined value is observed, it indicates that there is no available data.
previous_close: optional string
Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.
previous_close_unadjusted: optional string
Unadjusted (raw) previous session close. Present only when a
corporate-action adjustment exists for the previous close date; when no
adjustment exists, previous_close is the raw close and this field is
omitted.
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, 21 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_short_prohibited: boolean
Indicates if short selling is prohibited for the instrument. This is a
standing property of the security. For the live Rule 201 circuit
breaker, see short_sale_restricted on the market-data snapshot.
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.
cax_adjusted_previous_close: optional string
Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.
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 the cax-adjusted close when present, the raw previous close otherwise). When a null/undefined value is observed, it indicates that there is no available data.
options_contract_expiry_dates: optional array of OptionExpiryDate { date, has_settles_on_close, has_settles_on_open }
Available options expiration dates for this instrument, each annotated
with which settlement cycles have listed contracts on it.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
has_settles_on_close: boolean
Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.
has_settles_on_open: boolean
Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.
Deprecatedoptions_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
Deprecated: use options_contract_expiry_dates, which carries the same
dates annotated with settlement-cycle information.
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.
short_margin_rate: optional string
The percent of a short position’s value you must post as margin 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_short_prohibited: boolean
Indicates if short selling is prohibited for the instrument. This is a
standing property of the security. For the live Rule 201 circuit
breaker, see short_sale_restricted on the market-data snapshot.
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.
cax_adjusted_previous_close: optional string
Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.
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 the cax-adjusted close when present, the raw previous close otherwise). 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.
short_margin_rate: optional string
The percent of a short position’s value you must post as margin 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_short_prohibited: boolean
Indicates if short selling is prohibited for the instrument. This is a
standing property of the security. For the live Rule 201 circuit
breaker, see short_sale_restricted on the market-data snapshot.
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.
cax_adjusted_previous_close: optional string
Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.
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 the cax-adjusted close when present, the raw previous close otherwise). 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.
short_margin_rate: optional string
The percent of a short position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.
option_expiry_date: object { date, has_settles_on_close, has_settles_on_open }
An options expiry date, annotated with which settlement cycles have listed contracts on it.
has_settles_on_close: boolean
Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.
has_settles_on_open: boolean
Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.
options_contract: object { id, contract_type, currency, 15 more }
An options contract with options-specific metadata
is_settle_on_open: optional boolean
Whether the option settles on the opening price (AM settlement), if known When a null/undefined value is observed, it indicates that there is no available data.
last_trade_cutoff: optional string
Last moment the option can trade (UTC), if known When a null/undefined value is observed, it indicates that there is no available data.
open_interest: optional number
Open interest (number of outstanding contracts), if available When a null/undefined value is observed, it indicates that there is no available data.
is_settle_on_open: optional boolean
Whether the option settles on the opening price (AM settlement), if known When a null/undefined value is observed, it indicates that there is no available data.
last_trade_cutoff: optional string
Last moment the option can trade (UTC), if known When a null/undefined value is observed, it indicates that there is no available data.
open_interest: optional number
Open interest (number of outstanding contracts), if available When a null/undefined value is observed, it indicates that there is no available data.
V1Omni AI
ModelsExpand Collapse
action_button: object { buttonId, label, itemId, 2 more }
Button metadata shared by chart and suggested-actions payloads.
chart_payload: object { chartId, clicked, actionButtons, 2 more }
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
content_part_chart_payload: object { payload }
Chart payload content part.
payload: object { chartId, clicked, actionButtons, 2 more }
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
content_part_structured_action_payload: object { action, action_id, clicked, 2 more }
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 }
Prefill an order ticket for user confirmation
prefill_order: PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }
OpenChart: object { open_chart }
Open a chart for a symbol
open_chart: object { symbol, extras, item_id, timeframe }
Open a chart for a symbol
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener: object { open_screener }
Open a stock screener with filters
open_screener: object { filters, columns, item_id, 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.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
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 }
Suggested actions payload content part.
payload: object { actionButtons, clickedItemIds }
Suggested follow-up buttons rendered at the end of an assistant message.
open_chart_action: object { symbol, extras, item_id, timeframe }
Action to open a chart for a symbol.
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
open_screener_action: object { filters, columns, item_id, 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.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
prefill_modify_order_action: object { orders }
prefill_modify_order_request: object { account_id, item_id, limit_offset, 6 more }
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.
instrument_id: optional string
Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }
Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to
SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders
with DAY time-in-force, and are not supported on OTC common-stock orders.
union_member_1: object { type, end_at, start_at }
Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.
prefill_new_order_request: object { order_type, quantity, side, 14 more }
Request to submit a new order
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: optional string
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: optional string
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours: optional boolean
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
instrument_id: optional string
Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }
Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to
SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders
with DAY time-in-force, and are not supported on OTC common-stock orders.
union_member_1: object { type, end_at, start_at }
Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.
prefill_order_action: PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }
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 }
Prefill an order ticket for user confirmation
prefill_order: PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }
OpenChart: object { open_chart }
Open a chart for a symbol
open_chart: object { symbol, extras, item_id, timeframe }
Open a chart for a symbol
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener: object { open_screener }
Open a stock screener with filters
open_screener: object { filters, columns, item_id, 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.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
suggested_actions_payload: object { actionButtons, clickedItemIds }
Suggested follow-up buttons rendered at the end of an assistant message.
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 { account_id, agreement_id, entitlement_code, 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 }
Dynamic pollable response.
content: optional object { parts }
When a null/undefined value is observed, it indicates that there is no available data.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
response_content: object { parts }
Dynamic response content container. May include thinking parts.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
response_content_part: ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or 3 more
Dynamic content part visible on a pollable response.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 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: object { id, content, created_at, 6 more }
Final immutable message.
content: object { parts }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
context: optional object { items }
Immutable snapshots attached to this user message. Omitted when none were supplied. When a null/undefined value is observed, it indicates that there is no available data.
message_content: object { parts }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
message_content_part: ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or ContentPartChartPayload { payload } or 2 more
Final immutable content part visible on persisted messages.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
content: object { parts }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction: ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
context: optional object { items }
Immutable snapshots attached to this user message. Omitted when none were supplied. When a null/undefined value is observed, it indicates that there is no available data.
turn_context: object { items }
Client snapshots attached to one instant-chat user message.
Context is separate from visible message text and does not grant account access. The compact JSON representation must not exceed 64 KiB.
V1Orders
Place, monitor, and manage trading orders.
Cancel Open Order
ModelsExpand Collapse
execution: object { id, order_id, quantity, 8 more }
Represents a single fill of an order for an account.
instrument_id: optional string
Unique instrument identifier. null when this fill has no single resolvable
instrument.
When a null/undefined value is observed, it indicates it does not apply.
price: optional string
Fill price. null for multileg fills, whose price lives only at the leg level.
When a null/undefined value is observed, it indicates it does not apply.
symbol: optional string
Trading symbol. null when this fill has no single resolvable instrument.
When a null/undefined value is observed, it indicates it does not apply.
underlying_instrument_id: optional string
Underlying instrument identifier for an option fill. Omitted for a
non-derivative fill, when the underlier could not be resolved, or for a
multileg fill (per-leg underliers live in legs[]).
When a null/undefined value is observed, it indicates it does not apply.
instrument_id: optional string
Unique instrument identifier. null when this fill has no single resolvable
instrument.
When a null/undefined value is observed, it indicates it does not apply.
price: optional string
Fill price. null for multileg fills, whose price lives only at the leg level.
When a null/undefined value is observed, it indicates it does not apply.
symbol: optional string
Trading symbol. null when this fill has no single resolvable instrument.
When a null/undefined value is observed, it indicates it does not apply.
underlying_instrument_id: optional string
Underlying instrument identifier for an option fill. Omitted for a
non-derivative fill, when the underlier could not be resolved, or for a
multileg fill (per-leg underliers live in legs[]).
When a null/undefined value is observed, it indicates it does not apply.
new_order_request: object { order_type, quantity, side, 13 more }
Request to submit a new order
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: optional string
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: optional string
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours: optional boolean
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
instrument_id: optional string
Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.
strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }
Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to
SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders
with DAY time-in-force, and are not supported on OTC common-stock orders.
union_member_1: object { type, end_at, start_at }
Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.
order: object { id, account_id, client_order_id, 31 more }
A trading order with its current state and execution details.
This is the unified API representation of an order across its lifecycle, combining data from execution reports, order status queries, and parent/child tracking.
average_fill_price: optional string
Average fill price across all executions. For multileg orders this is the venue’s strategy-level average when reported, else the signed net package price derived from the leg averages: net debit positive, net credit negative, zero possible. When a null/undefined value is observed, it indicates that there is no available data.
expires_at: optional string
Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. When a null/undefined value is observed, it indicates it does not apply.
instrument_id: optional string
Instrument identifier for the traded instrument. null when the order has
no single resolvable instrument.
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.
symbol: optional string
Trading symbol. null when the order has no single resolvable instrument.
When a null/undefined value is observed, it indicates it does not apply.
trailing_limit_px: optional string
Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
trailing_offset: optional string
Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.
trailing_stop_px: optional string
Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_px: optional string
Trailing watermark price for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_ts: optional string
Trailing watermark timestamp for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.
underlying_instrument_id: optional string
Instrument ID of the option’s underlying instrument. Populated only for
options orders. A null means one of two things: the order is not an
option, so the field does not apply; or the order is an option whose
underlier has not yet been resolved.
When a null/undefined value is observed, it indicates it does not apply.
average_fill_price: optional string
Average fill price across all executions. For multileg orders this is the venue’s strategy-level average when reported, else the signed net package price derived from the leg averages: net debit positive, net credit negative, zero possible. When a null/undefined value is observed, it indicates that there is no available data.
expires_at: optional string
Timestamp when the order will expire (UTC). Present when time_in_force is GOOD_TILL_DATE. When a null/undefined value is observed, it indicates it does not apply.
instrument_id: optional string
Instrument identifier for the traded instrument. null when the order has
no single resolvable instrument.
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.
symbol: optional string
Trading symbol. null when the order has no single resolvable instrument.
When a null/undefined value is observed, it indicates it does not apply.
trailing_limit_px: optional string
Current trailing limit price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
trailing_offset: optional string
Trailing offset amount for trailing orders When a null/undefined value is observed, it indicates it does not apply.
trailing_stop_px: optional string
Current trailing stop price computed by the trailing strategy When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_px: optional string
Trailing watermark price for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.
trailing_watermark_ts: optional string
Trailing watermark timestamp for trailing orders. Strategy-computed, so it is absent on the order-submission acknowledgement and only appears once fetched via the order fetch or list endpoints. When a null/undefined value is observed, it indicates it does not apply.
underlying_instrument_id: optional string
Instrument ID of the option’s underlying instrument. Populated only for
options orders. A null means one of two things: the order is not an
option, so the field does not apply; or the order is an option whose
underlier has not yet been resolved.
When a null/undefined value is observed, it indicates it does not apply.
order_strategy: object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }
Optional execution strategy controlling how the order is worked in the market. Omit to use standard routing. One of SOR, VWAP, or TWAP.
union_member_1: object { type, end_at, start_at }
Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.
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, 17 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, client_instruction_id, 11 more }
A position instruction and its current lifecycle state.
client_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: optional object { description, domain, metadata, reason }
Machine-readable counterpart to rejection_reason: a stable reason code,
human-readable description, and params, present on every rejected row —
on submit, cancel, get, and list alike. Branch on rejection.reason and
read rejection.description instead of the top-level rejection_reason.
When a null/undefined value is observed, it indicates it does not apply.
description: string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
domain: string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
metadata: map[string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
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_list: array of PositionInstruction { id, account_id, client_instruction_id, 11 more }
client_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: optional object { description, domain, metadata, reason }
Machine-readable counterpart to rejection_reason: a stable reason code,
human-readable description, and params, present on every rejected row —
on submit, cancel, get, and list alike. Branch on rejection.reason and
read rejection.description instead of the top-level rejection_reason.
When a null/undefined value is observed, it indicates it does not apply.
description: string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
domain: string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
metadata: map[string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
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_rejection: object { description, domain, metadata, reason }
Machine-readable detail for a rejected position instruction.
Present on every rejected row, across the full lifecycle — submit, cancel,
get, and list. Branch on reason for programmatic handling and template your
own copy from metadata, or show description directly.
description: string
Human-readable explanation of the rejection. Duplicates the top-level
rejection_reason; prefer this field.
domain: string
Namespacing domain of the reason code — com.clearstreet.oems.exercise
for reasons OEMS validates, com.clearstreet.oems.clearing for
clearing-owned reasons.
metadata: map[string]
Reason-specific parameters as a string→string map. Which keys are present
depends on reason:
INSUFFICIENT_POSITION→available,requestedDNE_NOT_ON_EXPIRY/CEA_NOT_ON_EXPIRY→expiry,business_dateEXERCISE_PAST_CUTOFF→cutoff_timeDUPLICATE_INSTRUCTION→existing_id
Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.
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. duplicateclient_instruction_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.
V1Private Markets
Browse private-market offerings and their indicative terms. Access requires the account holder to hold an accreditation attestation.
List every live IOI for the caller's account-holder entity.
Create an IOI for a visible upcoming offering.
Update an IOI's notional, accepting the current NDA revision when required.
Withdraw a live IOI. Repeating a withdrawal returns 404.
V1Private MarketsCompanies
ModelsExpand Collapse
company_detail: object { id, name, profile, 6 more }
A company’s identity and its complete published profile.
profile: object { categories, citations, customers, 9 more }
The complete versioned company profile.
narrative_sections: optional array of CompanyNarrativeSection { body, display_order, title, citation_ids }
company_metric_series: object { frequency, label, metric_key, 5 more }
company_profile_resource: object { categories, citations, customers, 9 more }
The complete versioned company profile (schema version one).
narrative_sections: optional array of CompanyNarrativeSection { body, display_order, title, citation_ids }
V1Private MarketsOfferings
Browse private-market offerings and their indicative terms. Access requires the account holder to hold an accreditation attestation.
Get Offering
ModelsExpand Collapse
offering_card: object { id, class, company, 11 more }
One offering as it appears in a list: its derived class, indicative terms, a company identity summary, and any attached SPV.
spv: optional object { id, name, status, 5 more }
spv: optional object { id, name, status, 5 more }
offering_spv: object { id, name, status, 5 more }
The attached SPV’s identity and lifecycle. Exact economics surface once the SPV opens; an upcoming offering’s indicative ranges describe the terms until then.
V1Private MarketsSpvs
ModelsExpand Collapse
spv_detail: object { id, company_id, currency, 20 more }
An OPEN SPV’s identity, exact economics, and typed fee schedule.
V1Screener
Search instruments and manage saved screeners.
ModelsExpand Collapse
catalog: object { default_response_fields, enums, fields, 6 more }
The complete screener field catalog, serialized as the data payload of
GET /screener/catalog.
default_response_fields: array of string
The api_names that resolve to the POST default column set when
columns is omitted.
enums: object { builtin_variable, category, date_unit, 7 more }
The enum universes every other section’s values are drawn from.
fields: object { description, display_name, kind, name }
Struct-of-arrays of the remaining per-field scalars.
rules: object { api_name_composition, axes, defaults, 3 more }
Request-side semantics for turning the data into a valid call.
api_name_composition: string
Requests and response field objects use the same reference shape:
base name plus at most one of period / lookback;
default_response_fields (the POST default column set when columns
is omitted) carries api_names, each decoding via suffixes.
axes: string
At most one of period / lookback; the empty combination selects
the field’s current or most recent value.
rules: object { api_name_composition, axes, defaults, 3 more }
Request-side semantics: how to turn the catalog data into a valid
POST /screener call.
api_name_composition: string
Requests and response field objects use the same reference shape:
base name plus at most one of period / lookback;
default_response_fields (the POST default column set when columns
is omitted) carries api_names, each decoding via suffixes.
axes: string
At most one of period / lookback; the empty combination selects
the field’s current or most recent value.
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 }
sort_spec: object { field, direction }
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, 21 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_short_prohibited: boolean
Indicates if short selling is prohibited for the instrument. This is a
standing property of the security. For the live Rule 201 circuit
breaker, see short_sale_restricted on the market-data snapshot.
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.
cax_adjusted_previous_close: optional string
Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.
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 the cax-adjusted close when present, the raw previous close otherwise). When a null/undefined value is observed, it indicates that there is no available data.
options_contract_expiry_dates: optional array of OptionExpiryDate { date, has_settles_on_close, has_settles_on_open }
Available options expiration dates for this instrument, each annotated
with which settlement cycles have listed contracts on it.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
has_settles_on_close: boolean
Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.
has_settles_on_open: boolean
Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.
Deprecatedoptions_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
Deprecated: use options_contract_expiry_dates, which carries the same
dates annotated with settlement-cycle information.
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.
short_margin_rate: optional string
The percent of a short position’s value you must post as margin 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, 21 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_short_prohibited: boolean
Indicates if short selling is prohibited for the instrument. This is a
standing property of the security. For the live Rule 201 circuit
breaker, see short_sale_restricted on the market-data snapshot.
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.
cax_adjusted_previous_close: optional string
Corporate-action-adjusted last close; present only when an adjustment exists for the previous_close date. When a null/undefined value is observed, it indicates that there is no available data.
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 the cax-adjusted close when present, the raw previous close otherwise). When a null/undefined value is observed, it indicates that there is no available data.
options_contract_expiry_dates: optional array of OptionExpiryDate { date, has_settles_on_close, has_settles_on_open }
Available options expiration dates for this instrument, each annotated
with which settlement cycles have listed contracts on it.
Present only when include_options_expiry_dates=true in the request.
When a null/undefined value is observed, it indicates it does not apply.
has_settles_on_close: boolean
Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.
has_settles_on_open: boolean
Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.
Deprecatedoptions_expiry_dates: optional array of string
Available options expiration dates for this instrument.
Present only when include_options_expiry_dates=true in the request.
Deprecated: use options_contract_expiry_dates, which carries the same
dates annotated with settlement-cycle information.
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.
short_margin_rate: optional string
The percent of a short position’s value you must post as margin When a null/undefined value is observed, it indicates that there is no available data.