Skip to content
Start Trading

V1

ModelsExpand Collapse
SecurityType = "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Security type

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
SortDirection = "ASC" or "DESC"

Sort direction for sorted results

One of the following:
"ASC"
"DESC"

V1Accounts

Manage trading accounts, balances, and portfolio history.

Get Accounts
GET/v1/accounts
Get Account By ID
GET/v1/accounts/{account_id}
Patch Account By ID
PATCH/v1/accounts/{account_id}
Get Account Balances
GET/v1/accounts/{account_id}/balances
Get Portfolio History
GET/v1/accounts/{account_id}/portfolio-history
ModelsExpand Collapse
Account object { id, account_holder_entity_id, account_holder_entity_kind, 8 more }

Represents a trading account

id: number

The unique identifier for the account

formatint64
account_holder_entity_id: number

The account holder entity identifier

formatint64
account_holder_entity_kind: AccountHolderEntityKind

Whether the account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

formatdate
options_level: number

The options level of the account

formatint64
short_name: string

The short name of the account

The current status of the account

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"

The sub-type of account

One of the following:
"CASH"
"MARGIN"
"OTHER"

The type of account

One of the following:
"CUSTOMER"
"OTHER"
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.

formatdate
AccountBalances object { account_id, buying_power, currency, 18 more }

Represents the balance details for a trading account

account_id: number

The unique identifier for the account

formatint64
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.

currency: string

Currency identifier for all monetary values.

daily_change: string

Difference between current equity and start-of-day equity.

daily_pnl: string

Total profit or loss since start of day.

daily_realized_pnl: string

Realized profit or loss since start of day.

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.

long_market_value: string

The total market value of all long positions.

margin_type: MarginType

The applicable margin model for the account

One of the following:
"OTHER"
"NONE"
"PORTFOLIO_MARGIN"
"RISK_BASED_HAIRCUT_BROKER_DEALER"
"REG_T"
"RISK_BASED_HAIRCUT_MARKET_MAKER"
"CIRO"
"FUTURES_NLV"
"FUTURES_TOT_EQ"
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.

settled_cash: string

The amount of cash that is settled and available for withdrawal or trading.

sod: AccountBalancesSod { buying_power, equity, long_market_value, 5 more }

Start-of-day snapshot balances.

buying_power: string

Start-of-day buying power.

equity: string

Start-of-day equity.

long_market_value: string

Start-of-day long market value.

short_market_value: string

Start-of-day short market value.

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.

formatdate
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.

maintenance_margin_requirement: optional string

Start-of-day maintenance margin requirement: the amount of equity required to maintain current positions. When a null/undefined value is observed, it indicates it does not apply.

trade_cash: optional string

Start-of-day trade cash. When a null/undefined value is observed, it indicates it does not apply.

trade_cash: string

Trade-date effective cash.

unrealized_pnl: string

Total unrealized profit or loss across all open positions.

unsettled_credits: string

Trade-date unsettled cash credits.

unsettled_debits: string

Trade-date unsettled cash debits.

withdrawable_cash: string

The amount of cash currently available to withdraw.

margin_details: optional MarginDetails { 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.

initial_margin_excess: string

The difference between equity and the initial margin requirement.

initial_margin_requirement: string

The amount of equity required to open new positions.

intraday_details: MarginSessionDetails { buying_power, multiplier }

Intraday session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

maintenance_margin_excess: string

The difference between equity and the maintenance margin requirement.

maintenance_margin_requirement: string

The amount of equity required to maintain current positions.

overnight_details: MarginSessionDetails { buying_power, multiplier }

Overnight session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

top_contributors: optional array of MarginTopContributor { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }

Optional top margin contributors, returned only when explicitly requested.

initial_margin_requirement: string

Initial margin requirement attributable to this underlying.

maintenance_margin_requirement: string

Maintenance margin requirement attributable to this underlying.

market_value: string

Net market value attributable to this underlying.

underlying_instrument_id: string

UUID of the underlying security contributing to margin requirement.

formatuuid
usage: optional MarginDetailsUsage { total, used }

Current usage totals. When a null/undefined value is observed, it indicates that there is no available data.

total: string

The total margin available in the current model.

used: string

The amount of margin that is currently being utilized.

multiplier: optional string

Margin multiplier: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session. When a null/undefined value is observed, it indicates it does not apply.

short_market_value: optional string

The total market value of all short positions. When null/undefined, the value should be assumed to be zero. The field is omitted to simplify the response.

AccountBalancesSod object { buying_power, equity, long_market_value, 5 more }
buying_power: string

Start-of-day buying power.

equity: string

Start-of-day equity.

long_market_value: string

Start-of-day long market value.

short_market_value: string

Start-of-day short market value.

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.

formatdate
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.

maintenance_margin_requirement: optional string

Start-of-day maintenance margin requirement: the amount of equity required to maintain current positions. When a null/undefined value is observed, it indicates it does not apply.

trade_cash: optional string

Start-of-day trade cash. When a null/undefined value is observed, it indicates it does not apply.

AccountHolderEntityKind = "NATURAL_PERSON" or "LEGAL_ENTITY" or "OTHER"

Whether an account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
AccountList = array of Account { id, account_holder_entity_id, account_holder_entity_kind, 8 more }
id: number

The unique identifier for the account

formatint64
account_holder_entity_id: number

The account holder entity identifier

formatint64
account_holder_entity_kind: AccountHolderEntityKind

Whether the account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

formatdate
options_level: number

The options level of the account

formatint64
short_name: string

The short name of the account

The current status of the account

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"

The sub-type of account

One of the following:
"CASH"
"MARGIN"
"OTHER"

The type of account

One of the following:
"CUSTOMER"
"OTHER"
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.

formatdate
AccountSettings object { risk }
risk: optional RiskSettings { max_notional }

Risk settings for the account When a null/undefined value is observed, it indicates that there is no available data.

max_notional: optional string

The maximum notional value available to the account When a null/undefined value is observed, it indicates that there is no available data.

AccountStatus = "ACTIVE" or "INACTIVE" or "CLOSED"

Account status

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"
AccountSubtype = "CASH" or "MARGIN" or "OTHER"

Account subtype classification providing more granular categorization

One of the following:
"CASH"
"MARGIN"
"OTHER"
AccountType = "CUSTOMER" or "OTHER"

Account type classification

One of the following:
"CUSTOMER"
"OTHER"
AccountWithPersonalDetails object { id, account_holder_entity_id, account_holder_entity_kind, 12 more }

Represents a trading account

id: number

The unique identifier for the account

formatint64
account_holder_entity_id: number

The account holder entity identifier

formatint64
account_holder_entity_kind: AccountHolderEntityKind

Whether the account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

formatdate
options_level: number

The options level of the account

formatint64
short_name: string

The short name of the account

The current status of the account

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"

The sub-type of account

One of the following:
"CASH"
"MARGIN"
"OTHER"

The type of account

One of the following:
"CUSTOMER"
"OTHER"
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.

formatdate
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.

formatdate
mailing_address: optional Address { 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.

city: string

City

country: string

Country

line1: string

First street address line

postal_code: string

Postal code

line2: optional string

Second street address line When a null/undefined value is observed, it indicates it does not apply.

state: optional string

State or province When a null/undefined value is observed, it indicates it does not apply.

phone_number: optional string

The phone number 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.

Address object { city, country, line1, 3 more }

A postal address.

city: string

City

country: string

Country

line1: string

First street address line

postal_code: string

Postal code

line2: optional string

Second street address line When a null/undefined value is observed, it indicates it does not apply.

state: optional string

State or province When a null/undefined value is observed, it indicates it does not apply.

MarginDetails object { initial_margin_excess, initial_margin_requirement, intraday_details, 5 more }
initial_margin_excess: string

The difference between equity and the initial margin requirement.

initial_margin_requirement: string

The amount of equity required to open new positions.

intraday_details: MarginSessionDetails { buying_power, multiplier }

Intraday session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

maintenance_margin_excess: string

The difference between equity and the maintenance margin requirement.

maintenance_margin_requirement: string

The amount of equity required to maintain current positions.

overnight_details: MarginSessionDetails { buying_power, multiplier }

Overnight session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

top_contributors: optional array of MarginTopContributor { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }

Optional top margin contributors, returned only when explicitly requested.

initial_margin_requirement: string

Initial margin requirement attributable to this underlying.

maintenance_margin_requirement: string

Maintenance margin requirement attributable to this underlying.

market_value: string

Net market value attributable to this underlying.

underlying_instrument_id: string

UUID of the underlying security contributing to margin requirement.

formatuuid
usage: optional MarginDetailsUsage { total, used }

Current usage totals. When a null/undefined value is observed, it indicates that there is no available data.

total: string

The total margin available in the current model.

used: string

The amount of margin that is currently being utilized.

MarginDetailsUsage object { total, used }
total: string

The total margin available in the current model.

used: string

The amount of margin that is currently being utilized.

MarginSessionDetails object { buying_power, multiplier }
buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

MarginTopContributor object { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }
initial_margin_requirement: string

Initial margin requirement attributable to this underlying.

maintenance_margin_requirement: string

Maintenance margin requirement attributable to this underlying.

market_value: string

Net market value attributable to this underlying.

underlying_instrument_id: string

UUID of the underlying security contributing to margin requirement.

formatuuid
MarginType = "OTHER" or "NONE" or "PORTFOLIO_MARGIN" or 6 more

An account’s margin type

One of the following:
"OTHER"
"NONE"
"PORTFOLIO_MARGIN"
"RISK_BASED_HAIRCUT_BROKER_DEALER"
"REG_T"
"RISK_BASED_HAIRCUT_MARKET_MAKER"
"CIRO"
"FUTURES_NLV"
"FUTURES_TOT_EQ"
PortfolioHistoryResponse object { segments }
segments: array of PortfolioHistorySegment { date, eod_equity, realized_pnl, 7 more }
date: string

The date for this segment

formatdate
eod_equity: string

The equity at the end of the trading day.

realized_pnl: string

Sum of the profit and loss realized from position closing trading activity.

sod_equity: string

The equity at the start of the trading day.

unrealized_pnl: string

Sum of the profit and loss from market changes.

bought_notional: optional string

Amount bought MTM

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

position_pnl: optional string

P&L attributable to start-of-day (carried) positions from market movement during this trading day.

sold_notional: optional string

Amount sold MTM

PortfolioHistorySegment object { date, eod_equity, realized_pnl, 7 more }
date: string

The date for this segment

formatdate
eod_equity: string

The equity at the end of the trading day.

realized_pnl: string

Sum of the profit and loss realized from position closing trading activity.

sod_equity: string

The equity at the start of the trading day.

unrealized_pnl: string

Sum of the profit and loss from market changes.

bought_notional: optional string

Amount bought MTM

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

position_pnl: optional string

P&L attributable to start-of-day (carried) positions from market movement during this trading day.

sold_notional: optional string

Amount sold MTM

RiskSettings object { max_notional }

Risk settings for an account

max_notional: optional string

The maximum notional value available to the account When a null/undefined value is observed, it indicates that there is no available data.

AccountGetAccountsResponse = BaseResponse { metadata, error }
data: AccountList { id, account_holder_entity_id, account_holder_entity_kind, 8 more }
id: number

The unique identifier for the account

formatint64
account_holder_entity_id: number

The account holder entity identifier

formatint64
account_holder_entity_kind: AccountHolderEntityKind

Whether the account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

formatdate
options_level: number

The options level of the account

formatint64
short_name: string

The short name of the account

The current status of the account

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"

The sub-type of account

One of the following:
"CASH"
"MARGIN"
"OTHER"

The type of account

One of the following:
"CUSTOMER"
"OTHER"
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.

formatdate
AccountGetAccountByIDResponse = BaseResponse { metadata, error }
data: AccountWithPersonalDetails { id, account_holder_entity_id, account_holder_entity_kind, 12 more }

Represents a trading account

id: number

The unique identifier for the account

formatint64
account_holder_entity_id: number

The account holder entity identifier

formatint64
account_holder_entity_kind: AccountHolderEntityKind

Whether the account holder is a natural person or a legal entity.

One of the following:
"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

formatdate
options_level: number

The options level of the account

formatint64
short_name: string

The short name of the account

The current status of the account

One of the following:
"ACTIVE"
"INACTIVE"
"CLOSED"

The sub-type of account

One of the following:
"CASH"
"MARGIN"
"OTHER"

The type of account

One of the following:
"CUSTOMER"
"OTHER"
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.

formatdate
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.

formatdate
mailing_address: optional Address { 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.

city: string

City

country: string

Country

line1: string

First street address line

postal_code: string

Postal code

line2: optional string

Second street address line When a null/undefined value is observed, it indicates it does not apply.

state: optional string

State or province When a null/undefined value is observed, it indicates it does not apply.

phone_number: optional string

The phone number 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.

AccountPatchAccountByIDResponse = BaseResponse { metadata, error }
data: AccountSettings { risk }
risk: optional RiskSettings { max_notional }

Risk settings for the account When a null/undefined value is observed, it indicates that there is no available data.

max_notional: optional string

The maximum notional value available to the account When a null/undefined value is observed, it indicates that there is no available data.

AccountGetAccountBalancesResponse = BaseResponse { metadata, error }
data: AccountBalances { account_id, buying_power, currency, 18 more }

Represents the balance details for a trading account

account_id: number

The unique identifier for the account

formatint64
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.

currency: string

Currency identifier for all monetary values.

daily_change: string

Difference between current equity and start-of-day equity.

daily_pnl: string

Total profit or loss since start of day.

daily_realized_pnl: string

Realized profit or loss since start of day.

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.

long_market_value: string

The total market value of all long positions.

margin_type: MarginType

The applicable margin model for the account

One of the following:
"OTHER"
"NONE"
"PORTFOLIO_MARGIN"
"RISK_BASED_HAIRCUT_BROKER_DEALER"
"REG_T"
"RISK_BASED_HAIRCUT_MARKET_MAKER"
"CIRO"
"FUTURES_NLV"
"FUTURES_TOT_EQ"
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.

settled_cash: string

The amount of cash that is settled and available for withdrawal or trading.

sod: AccountBalancesSod { buying_power, equity, long_market_value, 5 more }

Start-of-day snapshot balances.

buying_power: string

Start-of-day buying power.

equity: string

Start-of-day equity.

long_market_value: string

Start-of-day long market value.

short_market_value: string

Start-of-day short market value.

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.

formatdate
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.

maintenance_margin_requirement: optional string

Start-of-day maintenance margin requirement: the amount of equity required to maintain current positions. When a null/undefined value is observed, it indicates it does not apply.

trade_cash: optional string

Start-of-day trade cash. When a null/undefined value is observed, it indicates it does not apply.

trade_cash: string

Trade-date effective cash.

unrealized_pnl: string

Total unrealized profit or loss across all open positions.

unsettled_credits: string

Trade-date unsettled cash credits.

unsettled_debits: string

Trade-date unsettled cash debits.

withdrawable_cash: string

The amount of cash currently available to withdraw.

margin_details: optional MarginDetails { 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.

initial_margin_excess: string

The difference between equity and the initial margin requirement.

initial_margin_requirement: string

The amount of equity required to open new positions.

intraday_details: MarginSessionDetails { buying_power, multiplier }

Intraday session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

maintenance_margin_excess: string

The difference between equity and the maintenance margin requirement.

maintenance_margin_requirement: string

The amount of equity required to maintain current positions.

overnight_details: MarginSessionDetails { buying_power, multiplier }

Overnight session margin calculation details.

buying_power: string

Maximum buying power available in the account during the session: 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.

multiplier: optional string

Margin multiplier for the session: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session.

top_contributors: optional array of MarginTopContributor { initial_margin_requirement, maintenance_margin_requirement, market_value, underlying_instrument_id }

Optional top margin contributors, returned only when explicitly requested.

initial_margin_requirement: string

Initial margin requirement attributable to this underlying.

maintenance_margin_requirement: string

Maintenance margin requirement attributable to this underlying.

market_value: string

Net market value attributable to this underlying.

underlying_instrument_id: string

UUID of the underlying security contributing to margin requirement.

formatuuid
usage: optional MarginDetailsUsage { total, used }

Current usage totals. When a null/undefined value is observed, it indicates that there is no available data.

total: string

The total margin available in the current model.

used: string

The amount of margin that is currently being utilized.

multiplier: optional string

Margin multiplier: 4 during intraday sessions (pre-market, regular, and after-hours) and 2 during the overnight session. When a null/undefined value is observed, it indicates it does not apply.

short_market_value: optional string

The total market value of all short positions. When null/undefined, the value should be assumed to be zero. The field is omitted to simplify the response.

AccountGetPortfolioHistoryResponse = BaseResponse { metadata, error }
data: PortfolioHistoryResponse { segments }
segments: array of PortfolioHistorySegment { date, eod_equity, realized_pnl, 7 more }
date: string

The date for this segment

formatdate
eod_equity: string

The equity at the end of the trading day.

realized_pnl: string

Sum of the profit and loss realized from position closing trading activity.

sod_equity: string

The equity at the start of the trading day.

unrealized_pnl: string

Sum of the profit and loss from market changes.

bought_notional: optional string

Amount bought MTM

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

position_pnl: optional string

P&L attributable to start-of-day (carried) positions from market movement during this trading day.

sold_notional: optional string

Amount sold MTM

V1API Version

Endpoints for API service metadata.

Get the API version.
GET/v1/version
ModelsExpand Collapse
Version object { version }

API version information

version: string

API version string

APIVersionGetVersionResponse = BaseResponse { metadata, error }
data: Version { version }

API version information

version: string

API version string

V1Calendar

Access clocks and financial calendars for market sessions and events.

Get Clock
GET/v1/clock
Get Market Hours Calendar.
GET/v1/calendars/market-hours
ModelsExpand Collapse
ClockDetail object { clock }

Current server time and market clock information

clock: string

Current server time in UTC

formatdate-time
DayType = "TRADING_DAY" or "EARLY_CLOSE" or "HOLIDAY" or "WEEKEND"

Day type for market hours - indicates the type of trading day

One of the following:
"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
MarketHoursDetail object { current_time, date, market, 5 more }

Comprehensive market hours information for a specific market and date

current_time: string

Current time in market timezone with offset

formatdate-time
date: string

The date for which market hours are provided

formatdate
market: MarketType

Market type identifier

One of the following:
"us_equities"
"us_options"
market_name: string

Human-readable market name

next_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Next trading day’s session schedules (without time_until fields)

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
status: MarketStatus { day_type, is_open, current_session }

Market status information

day_type: DayType

The type of trading day

One of the following:
"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional MarketSessionType

Current session type if market is open, null if closed When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"overnight"
"pre_market"
"regular"
"after_hours"
timezone: string

IANA timezone identifier for the market

today_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Trading session schedules for the requested date with time_until fields

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
MarketHoursDetailList = array of MarketHoursDetail { current_time, date, market, 5 more }
current_time: string

Current time in market timezone with offset

formatdate-time
date: string

The date for which market hours are provided

formatdate
market: MarketType

Market type identifier

One of the following:
"us_equities"
"us_options"
market_name: string

Human-readable market name

next_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Next trading day’s session schedules (without time_until fields)

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
status: MarketStatus { day_type, is_open, current_session }

Market status information

day_type: DayType

The type of trading day

One of the following:
"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional MarketSessionType

Current session type if market is open, null if closed When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"overnight"
"pre_market"
"regular"
"after_hours"
timezone: string

IANA timezone identifier for the market

today_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Trading session schedules for the requested date with time_until fields

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
MarketSessionType = "overnight" or "pre_market" or "regular" or "after_hours"

Session type for market hours

One of the following:
"overnight"
"pre_market"
"regular"
"after_hours"
MarketStatus object { day_type, is_open, current_session }

Market status information

day_type: DayType

The type of trading day

One of the following:
"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional MarketSessionType

Current session type if market is open, null if closed When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"overnight"
"pre_market"
"regular"
"after_hours"
MarketType = "us_equities" or "us_options"

Market type for market hours calendar endpoint

One of the following:
"us_equities"
"us_options"
SessionSchedule object { close, open, time_until_close, time_until_open }

Session schedule with open and close timestamps

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
TradingSessions object { after_hours, overnight, pre_market, regular }

Trading sessions for a market day with full timestamps

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
CalendarGetClockResponse = BaseResponse { metadata, error }
data: ClockDetail { clock }

Current server time and market clock information

clock: string

Current server time in UTC

formatdate-time
CalendarGetMarketHoursCalendarResponse = BaseResponse { metadata, error }
data: MarketHoursDetailList { current_time, date, market, 5 more }
current_time: string

Current time in market timezone with offset

formatdate-time
date: string

The date for which market hours are provided

formatdate
market: MarketType

Market type identifier

One of the following:
"us_equities"
"us_options"
market_name: string

Human-readable market name

next_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Next trading day’s session schedules (without time_until fields)

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
status: MarketStatus { day_type, is_open, current_session }

Market status information

day_type: DayType

The type of trading day

One of the following:
"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional MarketSessionType

Current session type if market is open, null if closed When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"overnight"
"pre_market"
"regular"
"after_hours"
timezone: string

IANA timezone identifier for the market

today_sessions: TradingSessions { after_hours, overnight, pre_market, regular }

Trading session schedules for the requested date with time_until fields

after_hours: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
overnight: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
pre_market: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration
regular: optional SessionSchedule { 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.

close: string

Session close timestamp with timezone offset

formatdate-time
open: string

Session open timestamp with timezone offset

formatdate-time
time_until_close: optional string

ISO 8601 duration until session closes. Null if session is not currently open. When a null/undefined value is observed, it indicates it does not apply.

formatduration
time_until_open: optional string

ISO 8601 duration until session opens. Null if session has already started or closed. When a null/undefined value is observed, it indicates it does not apply.

formatduration

V1Instrument Data

Retrieve instrument analytics, market data, news, and related reference data.

Get All Instrument Events
GET/v1/instruments/events
Get Instrument Events
GET/v1/instruments/{instrument_id}/events
Get Instrument Fundamentals
GET/v1/instruments/{instrument_id}/fundamentals
Get Instrument Balance Sheet Statements
GET/v1/instruments/{instrument_id}/balance-sheets
Get Instrument Income Statements
GET/v1/instruments/{instrument_id}/income-statements
Get Instrument Analyst Consensus
GET/v1/instruments/{instrument_id}/analyst-reporting
Get Instrument Cash Flow Statements
GET/v1/instruments/{instrument_id}/cash-flow-statements
ModelsExpand Collapse
AllEventsEventType = "EARNINGS" or "DIVIDEND" or "STOCK_SPLIT" or "IPO"

Event types supported by the all-events endpoint.

One of the following:
"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
AnalystDistribution object { buy, hold, sell, 2 more }

Analyst recommendation distribution

buy: number

Number of buy recommendations

formatint64
hold: number

Number of hold recommendations

formatint64
sell: number

Number of sell recommendations

formatint64
strong_buy: number

Number of strong buy recommendations

formatint64
strong_sell: number

Number of strong sell recommendations

formatint64
AnalystRating = "STRONG_BUY" or "BUY" or "HOLD" or 2 more

Analyst rating category

One of the following:
"STRONG_BUY"
"BUY"
"HOLD"
"SELL"
"STRONG_SELL"
FiscalPeriodType = "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

Fiscal period type for earnings reports

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
InstrumentAllEventsData object { event_dates }

All-events payload grouped by date.

event_dates: array of InstrumentEventsByDate { date, events }

Events grouped by date in descending order.

date: string

Event date.

formatdate
events: array of InstrumentEventEnvelope { symbol, type, dividend_event_data, 6 more }

Flat event envelopes for this date.

symbol: string

Symbol associated with the event.

Event type discriminator.

One of the following:
"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional InstrumentDividendEvent { 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.

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings_event_data: optional InstrumentEarnings { 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.

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue 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.

formatuuid
ipo_event_data: optional InstrumentEventIpoItem { 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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. 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.

stock_split_event_data: optional InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split payload when type is STOCK_SPLIT. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

InstrumentAnalystConsensus object { date, distribution, price_target, rating }

Aggregated analyst consensus metrics

date: string

The date the consensus snapshot was generated

formatdate
distribution: optional AnalystDistribution { 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.

buy: number

Number of buy recommendations

formatint64
hold: number

Number of hold recommendations

formatint64
sell: number

Number of sell recommendations

formatint64
strong_buy: number

Number of strong buy recommendations

formatint64
strong_sell: number

Number of strong sell recommendations

formatint64
price_target: optional PriceTarget { average, currency, high, low }

Aggregated analyst price target statistics When a null/undefined value is observed, it indicates that there is no available data.

average: string

Average analyst price target

currency: string

ISO 4217 currency code of the price targets

high: string

Highest analyst price target

low: string

Lowest analyst price target

rating: optional AnalystRating

Consensus analyst rating When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"STRONG_BUY"
"BUY"
"HOLD"
"SELL"
"STRONG_SELL"
InstrumentBalanceSheetStatement object { accepted_date, filing_date, period, 55 more }

A quarterly balance sheet statement for an instrument.

accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
account_payables: optional string

Account payables

accounts_receivables: optional string

Accounts receivables

accrued_expenses: optional string

Accrued expenses

accumulated_other_comprehensive_income_loss: optional string

Accumulated other comprehensive income/loss

additional_paid_in_capital: optional string

Additional paid-in capital

capital_lease_obligations: optional string

Capital lease obligations (total)

capital_lease_obligations_current: optional string

Capital lease obligations (current portion)

cash_and_cash_equivalents: optional string

Cash and cash equivalents

cash_and_short_term_investments: optional string

Cash and short-term investments combined

common_stock: optional string

Common stock

deferred_revenue: optional string

Deferred revenue

deferred_revenue_non_current: optional string

Deferred revenue (non-current)

deferred_tax_liabilities_non_current: optional string

Deferred tax liabilities (non-current)

goodwill: optional string

Goodwill

goodwill_and_intangible_assets: optional string

Goodwill and intangible assets combined

intangible_assets: optional string

Intangible assets

inventory: optional string

Inventory

long_term_debt: optional string

Long-term debt

long_term_investments: optional string

Long-term investments

minority_interest: optional string

Minority interest

net_debt: optional string

Net debt (total debt minus cash)

net_receivables: optional string

Net receivables

other_assets: optional string

Other assets

other_current_assets: optional string

Other current assets

other_current_liabilities: optional string

Other current liabilities

other_liabilities: optional string

Other liabilities

other_non_current_assets: optional string

Other non-current assets

other_non_current_liabilities: optional string

Other non-current liabilities

other_payables: optional string

Other payables

other_receivables: optional string

Other receivables

other_total_stockholders_equity: optional string

Other total stockholders equity

preferred_stock: optional string

Preferred stock

prepaids: optional string

Prepaids

property_plant_and_equipment_net: optional string

Property, plant and equipment net of depreciation

retained_earnings: optional string

Retained earnings

short_term_debt: optional string

Short-term debt

short_term_investments: optional string

Short-term investments

tax_assets: optional string

Tax assets

tax_payables: optional string

Tax payables

total_assets: optional string

Total assets

total_current_assets: optional string

Total current assets

total_current_liabilities: optional string

Total current liabilities

total_debt: optional string

Total debt

total_equity: optional string

Total equity

total_investments: optional string

Total investments

total_liabilities: optional string

Total liabilities

total_liabilities_and_total_equity: optional string

Total liabilities and total equity

total_non_current_assets: optional string

Total non-current assets

total_non_current_liabilities: optional string

Total non-current liabilities

total_payables: optional string

Total payables

total_stockholders_equity: optional string

Total stockholders equity

treasury_stock: optional string

Treasury stock

InstrumentBalanceSheetStatementList = array of InstrumentBalanceSheetStatement { accepted_date, filing_date, period, 55 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
account_payables: optional string

Account payables

accounts_receivables: optional string

Accounts receivables

accrued_expenses: optional string

Accrued expenses

accumulated_other_comprehensive_income_loss: optional string

Accumulated other comprehensive income/loss

additional_paid_in_capital: optional string

Additional paid-in capital

capital_lease_obligations: optional string

Capital lease obligations (total)

capital_lease_obligations_current: optional string

Capital lease obligations (current portion)

cash_and_cash_equivalents: optional string

Cash and cash equivalents

cash_and_short_term_investments: optional string

Cash and short-term investments combined

common_stock: optional string

Common stock

deferred_revenue: optional string

Deferred revenue

deferred_revenue_non_current: optional string

Deferred revenue (non-current)

deferred_tax_liabilities_non_current: optional string

Deferred tax liabilities (non-current)

goodwill: optional string

Goodwill

goodwill_and_intangible_assets: optional string

Goodwill and intangible assets combined

intangible_assets: optional string

Intangible assets

inventory: optional string

Inventory

long_term_debt: optional string

Long-term debt

long_term_investments: optional string

Long-term investments

minority_interest: optional string

Minority interest

net_debt: optional string

Net debt (total debt minus cash)

net_receivables: optional string

Net receivables

other_assets: optional string

Other assets

other_current_assets: optional string

Other current assets

other_current_liabilities: optional string

Other current liabilities

other_liabilities: optional string

Other liabilities

other_non_current_assets: optional string

Other non-current assets

other_non_current_liabilities: optional string

Other non-current liabilities

other_payables: optional string

Other payables

other_receivables: optional string

Other receivables

other_total_stockholders_equity: optional string

Other total stockholders equity

preferred_stock: optional string

Preferred stock

prepaids: optional string

Prepaids

property_plant_and_equipment_net: optional string

Property, plant and equipment net of depreciation

retained_earnings: optional string

Retained earnings

short_term_debt: optional string

Short-term debt

short_term_investments: optional string

Short-term investments

tax_assets: optional string

Tax assets

tax_payables: optional string

Tax payables

total_assets: optional string

Total assets

total_current_assets: optional string

Total current assets

total_current_liabilities: optional string

Total current liabilities

total_debt: optional string

Total debt

total_equity: optional string

Total equity

total_investments: optional string

Total investments

total_liabilities: optional string

Total liabilities

total_liabilities_and_total_equity: optional string

Total liabilities and total equity

total_non_current_assets: optional string

Total non-current assets

total_non_current_liabilities: optional string

Total non-current liabilities

total_payables: optional string

Total payables

total_stockholders_equity: optional string

Total stockholders equity

treasury_stock: optional string

Treasury stock

InstrumentCashFlowStatement object { accepted_date, filing_date, period, 42 more }

A quarterly cash flow statement for an instrument.

accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
accounts_payables: optional string

Change in accounts payables

accounts_receivables: optional string

Change in accounts receivables

acquisitions_net: optional string

Net acquisitions

capital_expenditure: optional string

Capital expenditure

cash_at_beginning_of_period: optional string

Cash and cash equivalents at beginning of period

cash_at_end_of_period: optional string

Cash and cash equivalents at end of period

change_in_working_capital: optional string

Change in working capital

common_dividends_paid: optional string

Common dividends paid

common_stock_issuance: optional string

Common stock issuance

common_stock_repurchased: optional string

Common stock repurchased (buybacks)

deferred_income_tax: optional string

Deferred income tax expense

depreciation_and_amortization: optional string

Depreciation and amortization expense

effect_of_forex_changes_on_cash: optional string

Effect of foreign exchange changes on cash

free_cash_flow: optional string

Free cash flow (operating cash flow minus capital expenditure)

income_taxes_paid: optional string

Income taxes paid

interest_paid: optional string

Interest paid

inventory: optional string

Change in inventory

investments_in_property_plant_and_equipment: optional string

Investments in property, plant, and equipment

long_term_net_debt_issuance: optional string

Long-term net debt issuance

net_cash_provided_by_financing_activities: optional string

Net cash provided by financing activities

net_cash_provided_by_investing_activities: optional string

Net cash provided by investing activities

net_cash_provided_by_operating_activities: optional string

Net cash provided by operating activities

net_change_in_cash: optional string

Net change in cash during the period

net_common_stock_issuance: optional string

Net common stock issuance

net_debt_issuance: optional string

Net debt issuance (long-term + short-term)

net_dividends_paid: optional string

Net dividends paid (common + preferred)

net_income: optional string

Net income for the period

net_preferred_stock_issuance: optional string

Net preferred stock issuance

net_stock_issuance: optional string

Net stock issuance (common + preferred)

operating_cash_flow: optional string

Operating cash flow (alternative calculation)

other_financing_activities: optional string

Other financing activities

other_investing_activities: optional string

Other investing activities

other_non_cash_items: optional string

Other non-cash items

other_working_capital: optional string

Change in other working capital

preferred_dividends_paid: optional string

Preferred dividends paid

purchases_of_investments: optional string

Purchases of investments

sales_maturities_of_investments: optional string

Sales and maturities of investments

short_term_net_debt_issuance: optional string

Short-term net debt issuance

stock_based_compensation: optional string

Stock-based compensation expense

InstrumentCashFlowStatementList = array of InstrumentCashFlowStatement { accepted_date, filing_date, period, 42 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
accounts_payables: optional string

Change in accounts payables

accounts_receivables: optional string

Change in accounts receivables

acquisitions_net: optional string

Net acquisitions

capital_expenditure: optional string

Capital expenditure

cash_at_beginning_of_period: optional string

Cash and cash equivalents at beginning of period

cash_at_end_of_period: optional string

Cash and cash equivalents at end of period

change_in_working_capital: optional string

Change in working capital

common_dividends_paid: optional string

Common dividends paid

common_stock_issuance: optional string

Common stock issuance

common_stock_repurchased: optional string

Common stock repurchased (buybacks)

deferred_income_tax: optional string

Deferred income tax expense

depreciation_and_amortization: optional string

Depreciation and amortization expense

effect_of_forex_changes_on_cash: optional string

Effect of foreign exchange changes on cash

free_cash_flow: optional string

Free cash flow (operating cash flow minus capital expenditure)

income_taxes_paid: optional string

Income taxes paid

interest_paid: optional string

Interest paid

inventory: optional string

Change in inventory

investments_in_property_plant_and_equipment: optional string

Investments in property, plant, and equipment

long_term_net_debt_issuance: optional string

Long-term net debt issuance

net_cash_provided_by_financing_activities: optional string

Net cash provided by financing activities

net_cash_provided_by_investing_activities: optional string

Net cash provided by investing activities

net_cash_provided_by_operating_activities: optional string

Net cash provided by operating activities

net_change_in_cash: optional string

Net change in cash during the period

net_common_stock_issuance: optional string

Net common stock issuance

net_debt_issuance: optional string

Net debt issuance (long-term + short-term)

net_dividends_paid: optional string

Net dividends paid (common + preferred)

net_income: optional string

Net income for the period

net_preferred_stock_issuance: optional string

Net preferred stock issuance

net_stock_issuance: optional string

Net stock issuance (common + preferred)

operating_cash_flow: optional string

Operating cash flow (alternative calculation)

other_financing_activities: optional string

Other financing activities

other_investing_activities: optional string

Other investing activities

other_non_cash_items: optional string

Other non-cash items

other_working_capital: optional string

Change in other working capital

preferred_dividends_paid: optional string

Preferred dividends paid

purchases_of_investments: optional string

Purchases of investments

sales_maturities_of_investments: optional string

Sales and maturities of investments

short_term_net_debt_issuance: optional string

Short-term net debt issuance

stock_based_compensation: optional string

Stock-based compensation expense

InstrumentDividendEvent object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }

Represents a dividend event for an instrument

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
InstrumentEarnings object { date, eps_actual, eps_estimate, 5 more }

Represents instrument earnings data

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue When a null/undefined value is observed, it indicates that there is no available data.

InstrumentEventEnvelope object { symbol, type, dividend_event_data, 6 more }

Unified envelope for the all-events response.

symbol: string

Symbol associated with the event.

Event type discriminator.

One of the following:
"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional InstrumentDividendEvent { 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.

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings_event_data: optional InstrumentEarnings { 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.

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue 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.

formatuuid
ipo_event_data: optional InstrumentEventIpoItem { 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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. 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.

stock_split_event_data: optional InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split payload when type is STOCK_SPLIT. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

InstrumentEventIpoItem 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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. When a null/undefined value is observed, it indicates that there is no available data.

InstrumentEventsByDate object { date, events }

Instrument events for a single date.

date: string

Event date.

formatdate
events: array of InstrumentEventEnvelope { symbol, type, dividend_event_data, 6 more }

Flat event envelopes for this date.

symbol: string

Symbol associated with the event.

Event type discriminator.

One of the following:
"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional InstrumentDividendEvent { 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.

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings_event_data: optional InstrumentEarnings { 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.

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue 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.

formatuuid
ipo_event_data: optional InstrumentEventIpoItem { 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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. 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.

stock_split_event_data: optional InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split payload when type is STOCK_SPLIT. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

InstrumentEventsData 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

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings: array of InstrumentEarnings { date, eps_actual, eps_estimate, 5 more }

Earnings announcement events

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue When a null/undefined value is observed, it indicates that there is no available data.

instrument_id: string

Instrument identifier

formatuuid
ipos: array of InstrumentIpoEvent { date, actions, announced_at, 5 more }

IPO events

date: string

The date of the IPO

formatdate
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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. When a null/undefined value is observed, it indicates that there is no available data.

splits: array of InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split events

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

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.

InstrumentFundamentals 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.

formatint64
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.

formatdate
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.

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.

sector: optional string

The business sector of the instrument’s issuer When a null/undefined value is observed, it indicates that there is no available data.

InstrumentIncomeStatement object { accepted_date, filing_date, period, 34 more }

A quarterly income statement for an instrument.

accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
bottom_line_net_income: optional string

Bottom line net income after all adjustments

cost_and_expenses: optional string

Total costs and expenses

cost_of_revenue: optional string

Direct costs attributable to producing goods sold

depreciation_and_amortization: optional string

Depreciation and amortization expenses

ebit: optional string

Earnings before interest and taxes

ebitda: optional string

Earnings before interest, taxes, depreciation, and amortization

eps: optional string

Basic earnings per share

eps_diluted: optional string

Diluted earnings per share

general_and_administrative_expenses: optional string

General administrative overhead expenses

gross_profit: optional string

Revenue minus cost of revenue

income_before_tax: optional string

Income before income tax expense

income_tax_expense: optional string

Income tax expense for the period

interest_expense: optional string

Interest paid on debt

interest_income: optional string

Interest earned on investments and cash

net_income: optional string

Total net income for the period

net_income_deductions: optional string

Deductions from net income

net_income_from_continuing_operations: optional string

Net income from continuing operations

net_income_from_discontinued_operations: optional string

Net income from discontinued operations

net_interest_income: optional string

Net interest income (interest income minus interest expense)

non_operating_income_excluding_interest: optional string

Non-operating income excluding interest

operating_expenses: optional string

Total operating expenses

operating_income: optional string

Income from core business operations

other_adjustments_to_net_income: optional string

Other adjustments to net income

other_expenses: optional string

Other miscellaneous expenses

research_and_development_expenses: optional string

Expenditure on research and development activities

revenue: optional string

Total revenue from sales of goods and services

selling_and_marketing_expenses: optional string

Expenditure on marketing and sales activities

selling_general_and_administrative_expenses: optional string

Combined selling, general, and administrative expenses

total_other_income_expenses_net: optional string

Net of other income and expenses

weighted_average_shs_out: optional string

Weighted average shares outstanding (basic)

weighted_average_shs_out_dil: optional string

Weighted average shares outstanding (diluted)

InstrumentIncomeStatementList = array of InstrumentIncomeStatement { accepted_date, filing_date, period, 34 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
bottom_line_net_income: optional string

Bottom line net income after all adjustments

cost_and_expenses: optional string

Total costs and expenses

cost_of_revenue: optional string

Direct costs attributable to producing goods sold

depreciation_and_amortization: optional string

Depreciation and amortization expenses

ebit: optional string

Earnings before interest and taxes

ebitda: optional string

Earnings before interest, taxes, depreciation, and amortization

eps: optional string

Basic earnings per share

eps_diluted: optional string

Diluted earnings per share

general_and_administrative_expenses: optional string

General administrative overhead expenses

gross_profit: optional string

Revenue minus cost of revenue

income_before_tax: optional string

Income before income tax expense

income_tax_expense: optional string

Income tax expense for the period

interest_expense: optional string

Interest paid on debt

interest_income: optional string

Interest earned on investments and cash

net_income: optional string

Total net income for the period

net_income_deductions: optional string

Deductions from net income

net_income_from_continuing_operations: optional string

Net income from continuing operations

net_income_from_discontinued_operations: optional string

Net income from discontinued operations

net_interest_income: optional string

Net interest income (interest income minus interest expense)

non_operating_income_excluding_interest: optional string

Non-operating income excluding interest

operating_expenses: optional string

Total operating expenses

operating_income: optional string

Income from core business operations

other_adjustments_to_net_income: optional string

Other adjustments to net income

other_expenses: optional string

Other miscellaneous expenses

research_and_development_expenses: optional string

Expenditure on research and development activities

revenue: optional string

Total revenue from sales of goods and services

selling_and_marketing_expenses: optional string

Expenditure on marketing and sales activities

selling_general_and_administrative_expenses: optional string

Combined selling, general, and administrative expenses

total_other_income_expenses_net: optional string

Net of other income and expenses

weighted_average_shs_out: optional string

Weighted average shares outstanding (basic)

weighted_average_shs_out_dil: optional string

Weighted average shares outstanding (diluted)

InstrumentIpoEvent object { date, actions, announced_at, 5 more }

Represents an IPO event for an instrument

date: string

The date of the IPO

formatdate
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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. When a null/undefined value is observed, it indicates that there is no available data.

InstrumentSplitEvent object { date, denominator, numerator, split_type }

Represents a stock split event for an instrument

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

PriceTarget object { average, currency, high, low }

Analyst price target statistics

average: string

Average analyst price target

currency: string

ISO 4217 currency code of the price targets

high: string

Highest analyst price target

low: string

Lowest analyst price target

ReportTime = "BMO" or "AMC"

Earnings report timing: before market open or after market close

One of the following:
"BMO"
"AMC"
InstrumentDataGetAllInstrumentEventsResponse = BaseResponse { metadata, error }
data: InstrumentAllEventsData { event_dates }

All-events payload grouped by date.

event_dates: array of InstrumentEventsByDate { date, events }

Events grouped by date in descending order.

date: string

Event date.

formatdate
events: array of InstrumentEventEnvelope { symbol, type, dividend_event_data, 6 more }

Flat event envelopes for this date.

symbol: string

Symbol associated with the event.

Event type discriminator.

One of the following:
"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional InstrumentDividendEvent { 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.

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings_event_data: optional InstrumentEarnings { 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.

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue 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.

formatuuid
ipo_event_data: optional InstrumentEventIpoItem { 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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. 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.

stock_split_event_data: optional InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split payload when type is STOCK_SPLIT. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

InstrumentDataGetInstrumentEventsResponse = BaseResponse { metadata, error }
data: InstrumentEventsData { 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

adjusted_dividend_amount: string

The adjusted dividend amount accounting for any splits.

ex_date: string

The day the stock starts trading without the right to receive that dividend.

formatdate
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.

formatdate
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.

payment_date: optional string

The payment date is the date on which a declared stock dividend is scheduled to be paid. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
record_date: optional string

The record date, set by a company’s board of directors, is when a company compiles a list of shareholders of the stock for which it has declared a dividend. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
earnings: array of InstrumentEarnings { date, eps_actual, eps_estimate, 5 more }

Earnings announcement events

date: string

The date when the earnings report was published

formatdate
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.

report_time: optional ReportTime

Report timing: before market open or after market close When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"BMO"
"AMC"
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.

revenue_estimate: optional string

The estimated total revenue for the period When a null/undefined value is observed, it indicates that there is no available data.

revenue_surprise_percent: optional string

The percentage difference between actual and estimated revenue When a null/undefined value is observed, it indicates that there is no available data.

instrument_id: string

Instrument identifier

formatuuid
ipos: array of InstrumentIpoEvent { date, actions, announced_at, 5 more }

IPO events

date: string

The date of the IPO

formatdate
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.

formatdate-time
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.

price_range: optional string

IPO price range. When a null/undefined value is observed, it indicates that there is no available data.

shares: optional string

IPO shares offered. When a null/undefined value is observed, it indicates that there is no available data.

splits: array of InstrumentSplitEvent { date, denominator, numerator, split_type }

Stock split events

date: string

The date of the stock split

formatdate
denominator: string

The denominator of the split ratio

numerator: string

The numerator of the split ratio

split_type: string

The type of stock split (e.g., “stock-split”, “stock-dividend”, “bonus-issue”)

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.

InstrumentDataGetInstrumentFundamentalsResponse = BaseResponse { metadata, error }
data: InstrumentFundamentals { 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.

formatint64
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.

formatdate
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.

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.

sector: optional string

The business sector of the instrument’s issuer When a null/undefined value is observed, it indicates that there is no available data.

InstrumentDataGetInstrumentBalanceSheetStatementsResponse = BaseResponse { metadata, error }
data: InstrumentBalanceSheetStatementList { accepted_date, filing_date, period, 55 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
account_payables: optional string

Account payables

accounts_receivables: optional string

Accounts receivables

accrued_expenses: optional string

Accrued expenses

accumulated_other_comprehensive_income_loss: optional string

Accumulated other comprehensive income/loss

additional_paid_in_capital: optional string

Additional paid-in capital

capital_lease_obligations: optional string

Capital lease obligations (total)

capital_lease_obligations_current: optional string

Capital lease obligations (current portion)

cash_and_cash_equivalents: optional string

Cash and cash equivalents

cash_and_short_term_investments: optional string

Cash and short-term investments combined

common_stock: optional string

Common stock

deferred_revenue: optional string

Deferred revenue

deferred_revenue_non_current: optional string

Deferred revenue (non-current)

deferred_tax_liabilities_non_current: optional string

Deferred tax liabilities (non-current)

goodwill: optional string

Goodwill

goodwill_and_intangible_assets: optional string

Goodwill and intangible assets combined

intangible_assets: optional string

Intangible assets

inventory: optional string

Inventory

long_term_debt: optional string

Long-term debt

long_term_investments: optional string

Long-term investments

minority_interest: optional string

Minority interest

net_debt: optional string

Net debt (total debt minus cash)

net_receivables: optional string

Net receivables

other_assets: optional string

Other assets

other_current_assets: optional string

Other current assets

other_current_liabilities: optional string

Other current liabilities

other_liabilities: optional string

Other liabilities

other_non_current_assets: optional string

Other non-current assets

other_non_current_liabilities: optional string

Other non-current liabilities

other_payables: optional string

Other payables

other_receivables: optional string

Other receivables

other_total_stockholders_equity: optional string

Other total stockholders equity

preferred_stock: optional string

Preferred stock

prepaids: optional string

Prepaids

property_plant_and_equipment_net: optional string

Property, plant and equipment net of depreciation

retained_earnings: optional string

Retained earnings

short_term_debt: optional string

Short-term debt

short_term_investments: optional string

Short-term investments

tax_assets: optional string

Tax assets

tax_payables: optional string

Tax payables

total_assets: optional string

Total assets

total_current_assets: optional string

Total current assets

total_current_liabilities: optional string

Total current liabilities

total_debt: optional string

Total debt

total_equity: optional string

Total equity

total_investments: optional string

Total investments

total_liabilities: optional string

Total liabilities

total_liabilities_and_total_equity: optional string

Total liabilities and total equity

total_non_current_assets: optional string

Total non-current assets

total_non_current_liabilities: optional string

Total non-current liabilities

total_payables: optional string

Total payables

total_stockholders_equity: optional string

Total stockholders equity

treasury_stock: optional string

Treasury stock

InstrumentDataGetInstrumentIncomeStatementsResponse = BaseResponse { metadata, error }
data: InstrumentIncomeStatementList { accepted_date, filing_date, period, 34 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
bottom_line_net_income: optional string

Bottom line net income after all adjustments

cost_and_expenses: optional string

Total costs and expenses

cost_of_revenue: optional string

Direct costs attributable to producing goods sold

depreciation_and_amortization: optional string

Depreciation and amortization expenses

ebit: optional string

Earnings before interest and taxes

ebitda: optional string

Earnings before interest, taxes, depreciation, and amortization

eps: optional string

Basic earnings per share

eps_diluted: optional string

Diluted earnings per share

general_and_administrative_expenses: optional string

General administrative overhead expenses

gross_profit: optional string

Revenue minus cost of revenue

income_before_tax: optional string

Income before income tax expense

income_tax_expense: optional string

Income tax expense for the period

interest_expense: optional string

Interest paid on debt

interest_income: optional string

Interest earned on investments and cash

net_income: optional string

Total net income for the period

net_income_deductions: optional string

Deductions from net income

net_income_from_continuing_operations: optional string

Net income from continuing operations

net_income_from_discontinued_operations: optional string

Net income from discontinued operations

net_interest_income: optional string

Net interest income (interest income minus interest expense)

non_operating_income_excluding_interest: optional string

Non-operating income excluding interest

operating_expenses: optional string

Total operating expenses

operating_income: optional string

Income from core business operations

other_adjustments_to_net_income: optional string

Other adjustments to net income

other_expenses: optional string

Other miscellaneous expenses

research_and_development_expenses: optional string

Expenditure on research and development activities

revenue: optional string

Total revenue from sales of goods and services

selling_and_marketing_expenses: optional string

Expenditure on marketing and sales activities

selling_general_and_administrative_expenses: optional string

Combined selling, general, and administrative expenses

total_other_income_expenses_net: optional string

Net of other income and expenses

weighted_average_shs_out: optional string

Weighted average shares outstanding (basic)

weighted_average_shs_out_dil: optional string

Weighted average shares outstanding (diluted)

InstrumentDataGetInstrumentAnalystConsensusResponse = BaseResponse { metadata, error }
data: InstrumentAnalystConsensus { date, distribution, price_target, rating }

Aggregated analyst consensus metrics

date: string

The date the consensus snapshot was generated

formatdate
distribution: optional AnalystDistribution { 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.

buy: number

Number of buy recommendations

formatint64
hold: number

Number of hold recommendations

formatint64
sell: number

Number of sell recommendations

formatint64
strong_buy: number

Number of strong buy recommendations

formatint64
strong_sell: number

Number of strong sell recommendations

formatint64
price_target: optional PriceTarget { average, currency, high, low }

Aggregated analyst price target statistics When a null/undefined value is observed, it indicates that there is no available data.

average: string

Average analyst price target

currency: string

ISO 4217 currency code of the price targets

high: string

Highest analyst price target

low: string

Lowest analyst price target

rating: optional AnalystRating

Consensus analyst rating When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"STRONG_BUY"
"BUY"
"HOLD"
"SELL"
"STRONG_SELL"
InstrumentDataGetInstrumentCashFlowStatementsResponse = BaseResponse { metadata, error }
data: InstrumentCashFlowStatementList { accepted_date, filing_date, period, 42 more }
accepted_date: string

The date and time when the filing was accepted by the SEC

formatdate-time
filing_date: string

The date the financial statement was filed

formatdate
period: string

The fiscal period identifier (e.g., “Q1”, “Q2”, “Q3”, “Q4”)

period_type: FiscalPeriodType

The type of fiscal period

One of the following:
"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
reported_currency: string

The currency in which the statement is reported (ISO 4217)

year: number

The fiscal year of the statement

formatint32
accounts_payables: optional string

Change in accounts payables

accounts_receivables: optional string

Change in accounts receivables

acquisitions_net: optional string

Net acquisitions

capital_expenditure: optional string

Capital expenditure

cash_at_beginning_of_period: optional string

Cash and cash equivalents at beginning of period

cash_at_end_of_period: optional string

Cash and cash equivalents at end of period

change_in_working_capital: optional string

Change in working capital

common_dividends_paid: optional string

Common dividends paid

common_stock_issuance: optional string

Common stock issuance

common_stock_repurchased: optional string

Common stock repurchased (buybacks)

deferred_income_tax: optional string

Deferred income tax expense

depreciation_and_amortization: optional string

Depreciation and amortization expense

effect_of_forex_changes_on_cash: optional string

Effect of foreign exchange changes on cash

free_cash_flow: optional string

Free cash flow (operating cash flow minus capital expenditure)

income_taxes_paid: optional string

Income taxes paid

interest_paid: optional string

Interest paid

inventory: optional string

Change in inventory

investments_in_property_plant_and_equipment: optional string

Investments in property, plant, and equipment

long_term_net_debt_issuance: optional string

Long-term net debt issuance

net_cash_provided_by_financing_activities: optional string

Net cash provided by financing activities

net_cash_provided_by_investing_activities: optional string

Net cash provided by investing activities

net_cash_provided_by_operating_activities: optional string

Net cash provided by operating activities

net_change_in_cash: optional string

Net change in cash during the period

net_common_stock_issuance: optional string

Net common stock issuance

net_debt_issuance: optional string

Net debt issuance (long-term + short-term)

net_dividends_paid: optional string

Net dividends paid (common + preferred)

net_income: optional string

Net income for the period

net_preferred_stock_issuance: optional string

Net preferred stock issuance

net_stock_issuance: optional string

Net stock issuance (common + preferred)

operating_cash_flow: optional string

Operating cash flow (alternative calculation)

other_financing_activities: optional string

Other financing activities

other_investing_activities: optional string

Other investing activities

other_non_cash_items: optional string

Other non-cash items

other_working_capital: optional string

Change in other working capital

preferred_dividends_paid: optional string

Preferred dividends paid

purchases_of_investments: optional string

Purchases of investments

sales_maturities_of_investments: optional string

Sales and maturities of investments

short_term_net_debt_issuance: optional string

Short-term net debt issuance

stock_based_compensation: optional string

Stock-based compensation expense

V1Instrument DataMarket Data

Retrieve instrument analytics, market data, news, and related reference data.

Get Snapshots
GET/v1/market-data/snapshot
Get Daily Aggregate Summaries
Deprecated
GET/v1/market-data/daily-summary
ModelsExpand Collapse
DailySummary 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 fields None (including symbol).
  • Resolvable instrument_id with no realtime cache entry → symbol populated, OHLV/trade_date/open_interest None.
  • trade_date reflects the session the OHLV represents (today during trading hours, the last trading date during weekends/holidays).
  • open_interest is populated for options only; None for equities and indices.
  • not_applicable is a non-optional bool, always serialized: true for instrument types with no daily summary by definition (e.g. an index, whose OHLV/trade_date are None), false otherwise.
instrument_id: string

Unique instrument identifier. Always populated; echoes the request ID.

formatuuid
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.

formatint64
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.

trade_date: optional string

Session date the OHLV represents, US/Eastern. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
volume: optional number

Session cumulative trading volume. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
DailySummaryList = array of DailySummary { instrument_id, high, low, 6 more }
instrument_id: string

Unique instrument identifier. Always populated; echoes the request ID.

formatuuid
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.

formatint64
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.

trade_date: optional string

Session date the OHLV represents, US/Eastern. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
volume: optional number

Session cumulative trading volume. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
MarketDataSnapshot object { instrument_id, session, short_sale_restricted, 7 more }

Market data snapshot for a single security.

instrument_id: string

Unique instrument identifier.

session: SnapshotSession { 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.

formatint64
minimum0
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.

formatdate
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.

symbol: string

Display symbol for the security.

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.

formatint64
minimum0
greeks: optional SnapshotGreeks { 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.

delta: string

Delta: ∂V/∂S, range [-1, 1].

gamma: string

Gamma: ∂²V/∂S².

iv: string

Implied volatility, annualized (0.20 == 20%).

rho: string

Rho per 1.0 rate point.

theo_price: string

Theoretical option price in USD per share.

theta: string

Theta per trading day.

timestamp: string

Timestamp when the Greeks were calculated.

formatdate-time
vega: string

Vega per 1.0 vol point.

last_quote: optional SnapshotQuote { 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.

formatint32
minimum0
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.

formatdate-time
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.

formatint32
minimum0
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.

formatdate-time
bid_venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best bid (NBBO). Absent when the bid side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

midpoint: optional string

Midpoint of bid and ask. Absent when either side is missing. When a null/undefined value is observed, it indicates that there is no available data.

last_trade: optional SnapshotLastTrade { 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.

formatint32
minimum0
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.

formatdate-time
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.

name: optional string

Security name if available. When a null/undefined value is observed, it indicates that there is no available data.

open_interest: optional number

Open interest (outstanding contracts) as of the most recent OPRA Refresh. Populated for options only; absent for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0
MarketDataSnapshotList = array of MarketDataSnapshot { instrument_id, session, short_sale_restricted, 7 more }
instrument_id: string

Unique instrument identifier.

session: SnapshotSession { 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.

formatint64
minimum0
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.

formatdate
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.

symbol: string

Display symbol for the security.

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.

formatint64
minimum0
greeks: optional SnapshotGreeks { 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.

delta: string

Delta: ∂V/∂S, range [-1, 1].

gamma: string

Gamma: ∂²V/∂S².

iv: string

Implied volatility, annualized (0.20 == 20%).

rho: string

Rho per 1.0 rate point.

theo_price: string

Theoretical option price in USD per share.

theta: string

Theta per trading day.

timestamp: string

Timestamp when the Greeks were calculated.

formatdate-time
vega: string

Vega per 1.0 vol point.

last_quote: optional SnapshotQuote { 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.

formatint32
minimum0
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.

formatdate-time
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.

formatint32
minimum0
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.

formatdate-time
bid_venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best bid (NBBO). Absent when the bid side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

midpoint: optional string

Midpoint of bid and ask. Absent when either side is missing. When a null/undefined value is observed, it indicates that there is no available data.

last_trade: optional SnapshotLastTrade { 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.

formatint32
minimum0
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.

formatdate-time
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.

name: optional string

Security name if available. When a null/undefined value is observed, it indicates that there is no available data.

open_interest: optional number

Open interest (outstanding contracts) as of the most recent OPRA Refresh. Populated for options only; absent for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0
SnapshotGreeks object { delta, gamma, iv, 5 more }

Theoretical price and Greeks for an options snapshot. All values are per share; no contract multiplier is applied.

delta: string

Delta: ∂V/∂S, range [-1, 1].

gamma: string

Gamma: ∂²V/∂S².

iv: string

Implied volatility, annualized (0.20 == 20%).

rho: string

Rho per 1.0 rate point.

theo_price: string

Theoretical option price in USD per share.

theta: string

Theta per trading day.

timestamp: string

Timestamp when the Greeks were calculated.

formatdate-time
vega: string

Vega per 1.0 vol point.

SnapshotLastTrade 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.

formatint32
minimum0
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.

formatdate-time
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.

SnapshotQuote 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.

formatint32
minimum0
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.

formatdate-time
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.

formatint32
minimum0
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.

formatdate-time
bid_venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best bid (NBBO). Absent when the bid side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

midpoint: optional string

Midpoint of bid and ask. Absent when either side is missing. When a null/undefined value is observed, it indicates that there is no available data.

SnapshotSession 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.

formatint64
minimum0
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.

formatdate
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.

MarketDataGetSnapshotsResponse = BaseResponse { metadata, error }
data: MarketDataSnapshotList { instrument_id, session, short_sale_restricted, 7 more }
instrument_id: string

Unique instrument identifier.

session: SnapshotSession { 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.

formatint64
minimum0
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.

formatdate
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.

symbol: string

Display symbol for the security.

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.

formatint64
minimum0
greeks: optional SnapshotGreeks { 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.

delta: string

Delta: ∂V/∂S, range [-1, 1].

gamma: string

Gamma: ∂²V/∂S².

iv: string

Implied volatility, annualized (0.20 == 20%).

rho: string

Rho per 1.0 rate point.

theo_price: string

Theoretical option price in USD per share.

theta: string

Theta per trading day.

timestamp: string

Timestamp when the Greeks were calculated.

formatdate-time
vega: string

Vega per 1.0 vol point.

last_quote: optional SnapshotQuote { 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.

formatint32
minimum0
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.

formatdate-time
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.

formatint32
minimum0
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.

formatdate-time
bid_venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue currently holding the national best bid (NBBO). Absent when the bid side carries no venue. When a null/undefined value is observed, it indicates that there is no available data.

midpoint: optional string

Midpoint of bid and ask. Absent when either side is missing. When a null/undefined value is observed, it indicates that there is no available data.

last_trade: optional SnapshotLastTrade { 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.

formatint32
minimum0
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.

formatdate-time
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.

name: optional string

Security name if available. When a null/undefined value is observed, it indicates that there is no available data.

open_interest: optional number

Open interest (outstanding contracts) as of the most recent OPRA Refresh. Populated for options only; absent for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

formatint64
minimum0
MarketDataGetDailySummariesResponse = BaseResponse { metadata, error }
data: DailySummaryList { instrument_id, high, low, 6 more }
instrument_id: string

Unique instrument identifier. Always populated; echoes the request ID.

formatuuid
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.

formatint64
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.

trade_date: optional string

Session date the OHLV represents, US/Eastern. When a null/undefined value is observed, it indicates that there is no available data.

formatdate
volume: optional number

Session cumulative trading volume. When a null/undefined value is observed, it indicates that there is no available data.

formatint64

V1Instrument DataNews

Retrieve instrument analytics, market data, news, and related reference data.

Get News
GET/v1/news
ModelsExpand Collapse
NewsInstrument object { instrument_id, name, symbol }

Instrument associated with a news item.

instrument_id: string

Instrument identifier.

formatuuid
name: optional string

Instrument name/description, if available. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Trading symbol, if available. When a null/undefined value is observed, it indicates that there is no available data.

NewsItem object { instruments, news_type, published_at, 6 more }

A single news item and its associated instruments.

instruments: array of NewsInstrument { instrument_id, name, symbol }

Instruments associated with this news item.

instrument_id: string

Instrument identifier.

formatuuid
name: optional string

Instrument name/description, if available. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Trading symbol, if available. When a null/undefined value is observed, it indicates that there is no available data.

news_type: NewsType

Classification of the item.

One of the following:
"NEWS"
"PRESS_RELEASE"
published_at: string

The published date/time of the article in UTC.

formatdate-time
publisher: string

The publisher or newswire source.

title: string

The headline/title of the article.

url: string

Canonical URL to the full article.

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.

site: optional string

The primary domain/site of the publisher. When a null/undefined value is observed, it indicates that there is no available data.

text: optional string

The full or excerpted article body. When a null/undefined value is observed, it indicates that there is no available data.

NewsItemList = array of NewsItem { instruments, news_type, published_at, 6 more }
instruments: array of NewsInstrument { instrument_id, name, symbol }

Instruments associated with this news item.

instrument_id: string

Instrument identifier.

formatuuid
name: optional string

Instrument name/description, if available. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Trading symbol, if available. When a null/undefined value is observed, it indicates that there is no available data.

news_type: NewsType

Classification of the item.

One of the following:
"NEWS"
"PRESS_RELEASE"
published_at: string

The published date/time of the article in UTC.

formatdate-time
publisher: string

The publisher or newswire source.

title: string

The headline/title of the article.

url: string

Canonical URL to the full article.

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.

site: optional string

The primary domain/site of the publisher. When a null/undefined value is observed, it indicates that there is no available data.

text: optional string

The full or excerpted article body. When a null/undefined value is observed, it indicates that there is no available data.

NewsType = "NEWS" or "PRESS_RELEASE"

News item classification.

One of the following:
"NEWS"
"PRESS_RELEASE"
NewsGetNewsResponse = BaseResponse { metadata, error }
data: NewsItemList { instruments, news_type, published_at, 6 more }
instruments: array of NewsInstrument { instrument_id, name, symbol }

Instruments associated with this news item.

instrument_id: string

Instrument identifier.

formatuuid
name: optional string

Instrument name/description, if available. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Trading symbol, if available. When a null/undefined value is observed, it indicates that there is no available data.

news_type: NewsType

Classification of the item.

One of the following:
"NEWS"
"PRESS_RELEASE"
published_at: string

The published date/time of the article in UTC.

formatdate-time
publisher: string

The publisher or newswire source.

title: string

The headline/title of the article.

url: string

Canonical URL to the full article.

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.

site: optional string

The primary domain/site of the publisher. When a null/undefined value is observed, it indicates that there is no available data.

text: optional string

The full or excerpted article body. 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.

Get Instruments
GET/v1/instruments
Get Instrument By ID
GET/v1/instruments/{instrument_id}
Search Instruments
GET/v1/instruments/search
Get Option Contracts
GET/v1/instruments/options/contracts
ModelsExpand Collapse
ContractType = "CALL" or "PUT"

The type of options contract

One of the following:
"CALL"
"PUT"
ExerciseStyle = "AMERICAN" or "EUROPEAN"

The exercise style of an options contract

One of the following:
"AMERICAN"
"EUROPEAN"
Instrument object { id, country_of_issue, currency, 21 more }

Represents a tradable financial instrument.

id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

date: string

The expiration date.

formatdate
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentCore object { id, country_of_issue, currency, 19 more }
id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentCoreList = array of InstrumentCore { id, country_of_issue, currency, 19 more }
id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

ListingType = "STANDARD" or "FLEX" or "OTC"

The listing type of an options contract

One of the following:
"STANDARD"
"FLEX"
"OTC"
OptionExpiryDate object { date, has_settles_on_close, has_settles_on_open }

An options expiry date, annotated with which settlement cycles have listed contracts on it.

date: string

The expiration date.

formatdate
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.

OptionsContract object { id, contract_type, currency, 15 more }

An options contract with options-specific metadata

id: string

Instrument identifier

formatuuid
contract_type: ContractType

Whether this is a CALL or PUT

One of the following:
"CALL"
"PUT"
currency: string

ISO currency code

exchange: string

MIC code of the primary listing venue

exercise_style: ExerciseStyle

Exercise style

One of the following:
"AMERICAN"
"EUROPEAN"
expiry: string

Expiration date

formatdate
is_liquidation_only: boolean

Whether the contract is liquidation-only

is_marginable: boolean

Whether the contract is marginable

is_tradable: boolean

Whether the contract is tradable

listing_type: ListingType

Listing type

One of the following:
"STANDARD"
"FLEX"
"OTC"
multiplier: string

Contract multiplier (100 for standard options)

strike_price: string

Strike price

symbol: string

OSI symbol (e.g. “AAPL 251219C00150000”)

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.

formatdate-time
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.

formatint64
tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this contract quotes on, ascending. Absent when our reference data never supplied the contract’s penny-program status.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Instrument ID of the underlying instrument, when available When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
OptionsContractList = array of OptionsContract { id, contract_type, currency, 15 more }
id: string

Instrument identifier

formatuuid
contract_type: ContractType

Whether this is a CALL or PUT

One of the following:
"CALL"
"PUT"
currency: string

ISO currency code

exchange: string

MIC code of the primary listing venue

exercise_style: ExerciseStyle

Exercise style

One of the following:
"AMERICAN"
"EUROPEAN"
expiry: string

Expiration date

formatdate
is_liquidation_only: boolean

Whether the contract is liquidation-only

is_marginable: boolean

Whether the contract is marginable

is_tradable: boolean

Whether the contract is tradable

listing_type: ListingType

Listing type

One of the following:
"STANDARD"
"FLEX"
"OTC"
multiplier: string

Contract multiplier (100 for standard options)

strike_price: string

Strike price

symbol: string

OSI symbol (e.g. “AAPL 251219C00150000”)

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.

formatdate-time
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.

formatint64
tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this contract quotes on, ascending. Absent when our reference data never supplied the contract’s penny-program status.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Instrument ID of the underlying instrument, when available When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
TickRule object { start_price, tick_size, end_price }

One band of an instrument’s tick schedule. A price in the band is valid only if it is a whole multiple of tick_size. Bands describe the instrument itself: on an equity they say nothing about that equity’s option chain.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentGetInstrumentsResponse = BaseResponse { metadata, error }
data: InstrumentCoreList { id, country_of_issue, currency, 19 more }
id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentGetInstrumentByIDResponse = BaseResponse { metadata, error }
data: Instrument { id, country_of_issue, currency, 21 more }

Represents a tradable financial instrument.

id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

date: string

The expiration date.

formatdate
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentSearchInstrumentsResponse = BaseResponse { metadata, error }
data: InstrumentCoreList { id, country_of_issue, currency, 19 more }
id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

InstrumentGetOptionContractsResponse = BaseResponse { metadata, error }
data: OptionsContractList { id, contract_type, currency, 15 more }
id: string

Instrument identifier

formatuuid
contract_type: ContractType

Whether this is a CALL or PUT

One of the following:
"CALL"
"PUT"
currency: string

ISO currency code

exchange: string

MIC code of the primary listing venue

exercise_style: ExerciseStyle

Exercise style

One of the following:
"AMERICAN"
"EUROPEAN"
expiry: string

Expiration date

formatdate
is_liquidation_only: boolean

Whether the contract is liquidation-only

is_marginable: boolean

Whether the contract is marginable

is_tradable: boolean

Whether the contract is tradable

listing_type: ListingType

Listing type

One of the following:
"STANDARD"
"FLEX"
"OTC"
multiplier: string

Contract multiplier (100 for standard options)

strike_price: string

Strike price

symbol: string

OSI symbol (e.g. “AAPL 251219C00150000”)

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.

formatdate-time
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.

formatint64
tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this contract quotes on, ascending. Absent when our reference data never supplied the contract’s penny-program status.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Instrument ID of the underlying instrument, when available When a null/undefined value is observed, it indicates that there is no available data.

formatuuid

V1Omni AI

ModelsExpand Collapse
ActionButton object { buttonId, label, itemId, 2 more }

Button metadata shared by chart and suggested-actions payloads.

buttonId: string

Stable button identifier within the content part.

label: string

User-visible label.

itemId: 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.

formatuuid
prompt: optional PromptButtonAction { prompt }

Follow-up prompt to submit as the next user message. When a null/undefined value is observed, it indicates it does not apply.

prompt: string

Prompt text to submit as the next user turn.

structuredAction: optional StructuredActionButtonAction { actionId }

Structured action in the same message to execute on click. When a null/undefined value is observed, it indicates it does not apply.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
ChartPayload object { chartId, clicked, actionButtons, 2 more }

Typed chart payload rendered inline in assistant content.

chartId: string

Stable chart identifier scoped to the content part.

clicked: boolean

Whether the current user clicked this chart.

actionButtons: optional array of ActionButton { buttonId, label, itemId, 2 more }

Buttons associated with this chart.

buttonId: string

Stable button identifier within the content part.

label: string

User-visible label.

itemId: 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.

formatuuid
prompt: optional PromptButtonAction { prompt }

Follow-up prompt to submit as the next user message. When a null/undefined value is observed, it indicates it does not apply.

prompt: string

Prompt text to submit as the next user turn.

structuredAction: optional StructuredActionButtonAction { actionId }

Structured action in the same message to execute on click. When a null/undefined value is observed, it indicates it does not apply.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
dataChart: optional DataChart { series }

Explicit series-driven chart definition. When a null/undefined value is observed, it indicates it does not apply.

series: optional array of ChartSeries { name, points }
name: string
points: optional array of ChartPoint { x, y }
x: string
y: number
itemId: 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.

formatuuid
ChartPoint object { x, y }

Single chart coordinate.

x: string
y: number
ChartSeries object { name, points }

Named data series within a chart.

name: string
points: optional array of ChartPoint { x, y }
x: string
y: number
ContentPartChartPayload object { payload }

Chart payload content part.

payload: ChartPayload { chartId, clicked, actionButtons, 2 more }

Typed chart payload rendered inline in assistant content.

chartId: string

Stable chart identifier scoped to the content part.

clicked: boolean

Whether the current user clicked this chart.

actionButtons: optional array of ActionButton { buttonId, label, itemId, 2 more }

Buttons associated with this chart.

buttonId: string

Stable button identifier within the content part.

label: string

User-visible label.

itemId: 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.

formatuuid
prompt: optional PromptButtonAction { prompt }

Follow-up prompt to submit as the next user message. When a null/undefined value is observed, it indicates it does not apply.

prompt: string

Prompt text to submit as the next user turn.

structuredAction: optional StructuredActionButtonAction { actionId }

Structured action in the same message to execute on click. When a null/undefined value is observed, it indicates it does not apply.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
dataChart: optional DataChart { series }

Explicit series-driven chart definition. When a null/undefined value is observed, it indicates it does not apply.

series: optional array of ChartSeries { name, points }
name: string
points: optional array of ChartPoint { x, y }
x: string
y: number
itemId: 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.

formatuuid
ContentPartCustomPayload object { payload }

Escape-hatch custom payload content part.

payload: unknown
ContentPartStructuredActionPayload object { action, action_id, clicked, 2 more }

Structured action content part.

Structured actions that Omni AI can return to clients.

These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.

One of the following:
PrefillOrder object { prefill_order }

Prefill an order ticket for user confirmation

prefill_order: PrefillOrderAction

Prefill an order ticket for user confirmation

One of the following:
PrefillNewOrderAction = PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
PrefillCancelOrderAction = PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
PrefillModifyOrderAction = PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
OpenChart object { open_chart }

Open a chart for a symbol

open_chart: OpenChartAction { symbol, extras, item_id, timeframe }

Open a chart for a symbol

symbol: string

Trading symbol to chart

extras: optional unknown

Additional chart configuration (indicators, overlays, etc.) 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.

formatuuid
timeframe: optional string

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”) 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: OpenScreenerAction { filters, columns, item_id, 3 more }

Open a stock screener with filters

filters: array of ScreenerFilter { field, operator, value }

Filter criteria for the screener

field: string

Field to filter on (e.g., “market_cap”, “sector”, “price”)

operator: string

Comparison operator (e.g., “eq”, “gte”, “lte”, “in”)

value: unknown

Filter value

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.

formatuuid
page_size: optional number

Optional page size. When a null/undefined value is observed, it indicates it does not apply.

formatint32
sort_by: optional string

Optional sort field for screener rows. When a null/undefined value is observed, it indicates it does not apply.

sort_direction: optional string

Optional sort direction (ASC or DESC). When a null/undefined value is observed, it indicates it does not apply.

OpenEntitlementConsent object { open_entitlement_consent }

Open entitlement consent flow

Open entitlement consent flow

Stable entitlement agreement family key.

Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
action_id: string
clicked: boolean

Whether the current user clicked this action.

clicked_item_ids: optional array of string

IDs of nested items clicked by the current user.

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.

formatuuid
ContentPartSuggestedActionsPayload object { payload }

Suggested actions payload content part.

payload: SuggestedActionsPayload { actionButtons, clickedItemIds }

Suggested follow-up buttons rendered at the end of an assistant message.

actionButtons: optional array of ActionButton { buttonId, label, itemId, 2 more }

Ordered message-level buttons.

buttonId: string

Stable button identifier within the content part.

label: string

User-visible label.

itemId: 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.

formatuuid
prompt: optional PromptButtonAction { prompt }

Follow-up prompt to submit as the next user message. When a null/undefined value is observed, it indicates it does not apply.

prompt: string

Prompt text to submit as the next user turn.

structuredAction: optional StructuredActionButtonAction { actionId }

Structured action in the same message to execute on click. When a null/undefined value is observed, it indicates it does not apply.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
clickedItemIds: optional array of string

IDs of buttons clicked by the current user.

ContentPartTextPayload object { text }

Text content part.

text: string
ContentPartThinkingPayload object { thoughts }

Thinking content part shown on dynamic response polling.

thoughts: array of string
DataChart object { series }

Chart represented by explicit data series.

series: optional array of ChartSeries { name, points }
name: string
points: optional array of ChartPoint { x, y }
x: string
y: number
EntitlementAgreementKey = "omni_account_data_access"

Stable entitlement agreement family key.

EntitlementCode = "omni.account_data"

Stable entitlement code granted by an agreement.

OpenChartAction object { symbol, extras, item_id, timeframe }

Action to open a chart for a symbol.

symbol: string

Trading symbol to chart

extras: optional unknown

Additional chart configuration (indicators, overlays, etc.) 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.

formatuuid
timeframe: optional string

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”) When a null/undefined value is observed, it indicates it does not apply.

Action to open entitlement consent flow for one or more accounts.

Stable entitlement agreement family key.

Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
OpenScreenerAction object { filters, columns, item_id, 3 more }

Action to open a stock screener with filters.

filters: array of ScreenerFilter { field, operator, value }

Filter criteria for the screener

field: string

Field to filter on (e.g., “market_cap”, “sector”, “price”)

operator: string

Comparison operator (e.g., “eq”, “gte”, “lte”, “in”)

value: unknown

Filter value

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.

formatuuid
page_size: optional number

Optional page size. When a null/undefined value is observed, it indicates it does not apply.

formatint32
sort_by: optional string

Optional sort field for screener rows. When a null/undefined value is observed, it indicates it does not apply.

sort_direction: optional string

Optional sort direction (ASC or DESC). When a null/undefined value is observed, it indicates it does not apply.

PrefillCancelOrderAction object { orders }

Cancel-order prefill action.

orders: array of PrefillCancelOrderRequest { account_id, order_id, item_id }

Orders to cancel using the same identifiers required by the cancel-order API.

account_id: number

Account ID (from path parameter)

formatint64
order_id: string

Order ID to cancel (from path parameter)

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.

formatuuid
PrefillCancelOrderRequest object { account_id, order_id, item_id }

Request to cancel an existing order

Note: In the API, order cancellation is done via DELETE request without a body. The order_id and account_id come from the URL path parameters.

account_id: number

Account ID (from path parameter)

formatint64
order_id: string

Order ID to cancel (from path parameter)

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.

formatuuid
PrefillModifyOrderAction object { orders }

Modify-order prefill action.

orders: array of PrefillModifyOrderRequest { account_id, item_id, limit_offset, 6 more }

Modification targets and deltas needed to construct replace-order API requests.

account_id: optional number

Account ID that owns the order.

formatint64
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.

formatuuid
limit_offset: optional string

New limit offset for trailing stop-limit orders (signed)

limit_price: optional string

New limit price for the order

order_id: optional string

Order ID to modify.

quantity: optional string

New quantity for the order

stop_price: optional string

New stop price for the order

trailing_offset: optional string

New trailing offset for trailing orders

trailing_offset_type: optional TrailingOffsetType

New trailing offset type (PRICE or BPS)

One of the following:
"PRICE"
"BPS"
PrefillModifyOrderRequest object { account_id, item_id, limit_offset, 6 more }

Request to replace (modify) an existing order

At least one field must be provided.

account_id: optional number

Account ID that owns the order.

formatint64
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.

formatuuid
limit_offset: optional string

New limit offset for trailing stop-limit orders (signed)

limit_price: optional string

New limit price for the order

order_id: optional string

Order ID to modify.

quantity: optional string

New quantity for the order

stop_price: optional string

New stop price for the order

trailing_offset: optional string

New trailing offset for trailing orders

trailing_offset_type: optional TrailingOffsetType

New trailing offset type (PRICE or BPS)

One of the following:
"PRICE"
"BPS"
PrefillNewOrderAction object { orders }

New-order prefill action.

orders: array of PrefillNewOrderRequest { order_type, quantity, side, 14 more }

Orders to prefill using the same shape accepted by the orders API.

order_type: RequestOrderType

Type of order

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
quantity: string

Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)

side: Side

Side of the order

One of the following:
"BUY"
"SELL"
time_in_force: RequestTimeInForce

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
id: optional string

Optional client-provided unique ID (idempotency). Required to be unique per account.

maxLength64
expires_at: optional string

The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.

formatdate-time
extended_hours: optional boolean

Allow trading outside regular trading hours. Some brokers disallow options outside RTH.

instrument_id: optional InstrumentIDOrSymbol

Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.

minLength1
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.

formatuuid
limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (required for LIMIT and STOP_LIMIT orders)

position_intent: optional RequestPositionEffect

Optional open/close intent for this order. When omitted, the platform determines the position effect.

One of the following:
"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional OrderStrategy

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.

One of the following:
Type object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
symbol: optional string

Trading symbol. For equities, use the ticker symbol (e.g., “TSLA”). For options, use the OSI symbol (e.g., “TSLA 250117C00190000”). Either symbol or instrument_id must be provided.

trailing_offset: optional string

Trailing offset amount (required for trailing orders)

trailing_offset_type: optional TrailingOffsetType

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
"PRICE"
"BPS"
PrefillNewOrderRequest object { order_type, quantity, side, 14 more }

Request to submit a new order

order_type: RequestOrderType

Type of order

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
quantity: string

Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)

side: Side

Side of the order

One of the following:
"BUY"
"SELL"
time_in_force: RequestTimeInForce

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
id: optional string

Optional client-provided unique ID (idempotency). Required to be unique per account.

maxLength64
expires_at: optional string

The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.

formatdate-time
extended_hours: optional boolean

Allow trading outside regular trading hours. Some brokers disallow options outside RTH.

instrument_id: optional InstrumentIDOrSymbol

Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.

minLength1
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.

formatuuid
limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (required for LIMIT and STOP_LIMIT orders)

position_intent: optional RequestPositionEffect

Optional open/close intent for this order. When omitted, the platform determines the position effect.

One of the following:
"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional OrderStrategy

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.

One of the following:
Type object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
symbol: optional string

Trading symbol. For equities, use the ticker symbol (e.g., “TSLA”). For options, use the OSI symbol (e.g., “TSLA 250117C00190000”). Either symbol or instrument_id must be provided.

trailing_offset: optional string

Trailing offset amount (required for trailing orders)

trailing_offset_type: optional TrailingOffsetType

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
"PRICE"
"BPS"
PrefillOrderAction = PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }

Action to prefill order details for user confirmation.

The user must review and authorize the order before submission to the trading API. This action provides parsed order data that can be used to prefill an order ticket UI or submitted directly via the orders API after user confirmation.

One of the following:
PrefillNewOrderAction = PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
PrefillCancelOrderAction = PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
PrefillModifyOrderAction = PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
PromptButtonAction object { prompt }

Prompt-style button behavior.

prompt: string

Prompt text to submit as the next user turn.

StructuredAction = object { prefill_order } or object { open_chart } or object { open_screener } or object { open_entitlement_consent }

Structured actions that Omni AI can return to clients.

These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.

One of the following:
PrefillOrder object { prefill_order }

Prefill an order ticket for user confirmation

prefill_order: PrefillOrderAction

Prefill an order ticket for user confirmation

One of the following:
PrefillNewOrderAction = PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
PrefillCancelOrderAction = PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
PrefillModifyOrderAction = PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
OpenChart object { open_chart }

Open a chart for a symbol

open_chart: OpenChartAction { symbol, extras, item_id, timeframe }

Open a chart for a symbol

symbol: string

Trading symbol to chart

extras: optional unknown

Additional chart configuration (indicators, overlays, etc.) 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.

formatuuid
timeframe: optional string

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”) 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: OpenScreenerAction { filters, columns, item_id, 3 more }

Open a stock screener with filters

filters: array of ScreenerFilter { field, operator, value }

Filter criteria for the screener

field: string

Field to filter on (e.g., “market_cap”, “sector”, “price”)

operator: string

Comparison operator (e.g., “eq”, “gte”, “lte”, “in”)

value: unknown

Filter value

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.

formatuuid
page_size: optional number

Optional page size. When a null/undefined value is observed, it indicates it does not apply.

formatint32
sort_by: optional string

Optional sort field for screener rows. When a null/undefined value is observed, it indicates it does not apply.

sort_direction: optional string

Optional sort direction (ASC or DESC). When a null/undefined value is observed, it indicates it does not apply.

OpenEntitlementConsent object { open_entitlement_consent }

Open entitlement consent flow

Open entitlement consent flow

Stable entitlement agreement family key.

Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
StructuredActionButtonAction object { actionId }

Structured-action button behavior.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
SuggestedActionsPayload object { actionButtons, clickedItemIds }

Suggested follow-up buttons rendered at the end of an assistant message.

actionButtons: optional array of ActionButton { buttonId, label, itemId, 2 more }

Ordered message-level buttons.

buttonId: string

Stable button identifier within the content part.

label: string

User-visible label.

itemId: 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.

formatuuid
prompt: optional PromptButtonAction { prompt }

Follow-up prompt to submit as the next user message. When a null/undefined value is observed, it indicates it does not apply.

prompt: string

Prompt text to submit as the next user turn.

structuredAction: optional StructuredActionButtonAction { actionId }

Structured action in the same message to execute on click. When a null/undefined value is observed, it indicates it does not apply.

actionId: optional string

UUID of a structured_action content part in the same message. When a null/undefined value is observed, it indicates it does not apply.

formatuuid
clickedItemIds: optional array of string

IDs of buttons clicked by the current user.

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.

Get Entitlements
GET/v1/omni-ai/entitlements
Create Entitlements
POST/v1/omni-ai/entitlements
Delete Entitlement
DELETE/v1/omni-ai/entitlements/{entitlement_id}
Get Entitlement Agreements
GET/v1/omni-ai/entitlement-agreements
ModelsExpand Collapse
DeleteEntitlementResponse object { entitlement_id, revoked }
entitlement_id: string
revoked: boolean
EntitlementAgreementResource object { agreement_id, agreement_key, document_content, 4 more }
agreement_id: string

Stable entitlement agreement family key.

document_content: string
document_sha256: string
entitlement_codes: array of EntitlementCode
title: string
version: number
EntitlementAgreementResourceList = array of EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more }
agreement_id: string

Stable entitlement agreement family key.

document_content: string
document_sha256: string
entitlement_codes: array of EntitlementCode
title: string
version: number
EntitlementResource object { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: string
granted_at: string
EntitlementResourceList = array of EntitlementResource { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: string
granted_at: string
EntitlementGetEntitlementsResponse = BaseResponse { metadata, error }
data: EntitlementResourceList { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: string
granted_at: string
EntitlementCreateEntitlementsResponse = BaseResponse { metadata, error }
data: EntitlementResourceList { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: string
granted_at: string
EntitlementDeleteEntitlementResponse = BaseResponse { metadata, error }
data: DeleteEntitlementResponse { entitlement_id, revoked }
entitlement_id: string
revoked: boolean
EntitlementGetEntitlementAgreementsResponse = BaseResponse { metadata, error }
data: EntitlementAgreementResourceList { agreement_id, agreement_key, document_content, 4 more }
agreement_id: string

Stable entitlement agreement family key.

document_content: string
document_sha256: string
entitlement_codes: array of EntitlementCode
title: string
version: number

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.

Get Message
GET/v1/omni-ai/messages/{message_id}
Submit Feedback
POST/v1/omni-ai/messages/{message_id}/feedback
ModelsExpand Collapse
CreateFeedbackResponse object { created_at, feedback_id }
created_at: string
feedback_id: optional string

When a null/undefined value is observed, it indicates that there is no available data.

formatuuid
MessageGetMessageByIDResponse = BaseResponse { metadata, error }
data: Message { id, content, created_at, 6 more }

Final immutable message.

id: string
content: MessageContent { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
created_at: string

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional TurnContext { 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.

items: array of ContextItem { data, kind, label, captured_at }

One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

MessageSubmitFeedbackResponse = BaseResponse { metadata, error }
data: CreateFeedbackResponse { created_at, feedback_id }
created_at: string
feedback_id: optional string

When a null/undefined value is observed, it indicates that there is no available data.

formatuuid

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
GET/v1/omni-ai/responses/{response_id}
Cancel Response
DELETE/v1/omni-ai/responses/{response_id}
ModelsExpand Collapse
CancelResponsePayload object { canceled }
canceled: boolean
ErrorStatus object { code, message, details }

Shared sanitized error payload.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

Response object { id, status, thread_id, 4 more }

Dynamic pollable response.

id: string

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: string
user_message_id: string
content: optional ResponseContent { parts }

When a null/undefined value is observed, it indicates that there is no available data.

parts: array of ResponseContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartThinking = ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

type: "thinking"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

output_message_id: optional string

When a null/undefined value is observed, it indicates it does not apply.

formatuuid
ResponseContent object { parts }

Dynamic response content container. May include thinking parts.

parts: array of ResponseContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartThinking = ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

type: "thinking"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
ResponseContentPart = ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or 3 more

Dynamic content part visible on a pollable response.

One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartThinking = ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

type: "thinking"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
ResponseStatus = "queued" or "running" or "succeeded" or 2 more

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
ResponseGetResponseByIDResponse = BaseResponse { metadata, error }
data: Response { id, status, thread_id, 4 more }

Dynamic pollable response.

id: string

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: string
user_message_id: string
content: optional ResponseContent { parts }

When a null/undefined value is observed, it indicates that there is no available data.

parts: array of ResponseContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartThinking = ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

type: "thinking"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

output_message_id: optional string

When a null/undefined value is observed, it indicates it does not apply.

formatuuid
ResponseCancelResponseResponse = BaseResponse { metadata, error }
data: CancelResponsePayload { canceled }
canceled: boolean

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 Threads
GET/v1/omni-ai/threads
Get Thread
GET/v1/omni-ai/threads/{thread_id}
Create Thread
POST/v1/omni-ai/threads
Get Thread Response
GET/v1/omni-ai/threads/{thread_id}/response
Get Messages
GET/v1/omni-ai/threads/{thread_id}/messages
Create Message
POST/v1/omni-ai/threads/{thread_id}/messages
ModelsExpand Collapse
ContextItem object { data, kind, label, captured_at }

A snapshot of the widget the user asks about.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
CreateMessageResponse object { response_id, thread_id, user_message_id }

Response payload for continuing a thread with a new message.

response_id: string
thread_id: string
user_message_id: string
CreateThreadResponse object { response_id, thread_id, user_message_id }

Response payload for thread creation.

response_id: string
thread_id: string
user_message_id: string
Message object { id, content, created_at, 6 more }

Final immutable message.

id: string
content: MessageContent { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
created_at: string

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional TurnContext { 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.

items: array of ContextItem { data, kind, label, captured_at }

One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

MessageContent object { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
MessageContentPart = ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or ContentPartChartPayload { payload } or 2 more

Final immutable content part visible on persisted messages.

One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
MessageList = array of Message { id, content, created_at, 6 more }
id: string
content: MessageContent { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
created_at: string

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional TurnContext { 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.

items: array of ContextItem { data, kind, label, captured_at }

One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

MessageOutcome = "completed" or "errored" or "canceled"

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"
MessageRole = "USER" or "ASSISTANT"

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
Thread object { id, created_at, title, updated_at }

Thread metadata.

id: string
created_at: string
title: string
updated_at: string
ThreadList = array of Thread { id, created_at, title, updated_at }
id: string
created_at: string
title: string
updated_at: string
TurnContext 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.

items: array of ContextItem { data, kind, label, captured_at }

One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
ThreadGetThreadsResponse = BaseResponse { metadata, error }
data: ThreadList { id, created_at, title, updated_at }
id: string
created_at: string
title: string
updated_at: string
ThreadGetThreadByIDResponse = BaseResponse { metadata, error }
data: Thread { id, created_at, title, updated_at }

Thread metadata.

id: string
created_at: string
title: string
updated_at: string
ThreadCreateThreadResponse = BaseResponse { metadata, error }
data: CreateThreadResponse { response_id, thread_id, user_message_id }

Response payload for thread creation.

response_id: string
thread_id: string
user_message_id: string
ThreadGetThreadResponseResponse = BaseResponse { metadata, error }
data: Response { id, status, thread_id, 4 more }

Dynamic pollable response.

id: string

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: string
user_message_id: string
content: optional ResponseContent { parts }

When a null/undefined value is observed, it indicates that there is no available data.

parts: array of ResponseContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartThinking = ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

type: "thinking"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

output_message_id: optional string

When a null/undefined value is observed, it indicates it does not apply.

formatuuid
ThreadGetMessagesResponse = BaseResponse { metadata, error }
data: MessageList { id, content, created_at, 6 more }
id: string
content: MessageContent { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
One of the following:
ContentPartText = ContentPartTextPayload { text }

Text content part.

type: "text"
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }

Structured action content part.

type: "structured_action"
ContentPartChart = ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
ContentPartSuggestedActions = ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
ContentPartCustom = ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
created_at: string

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional TurnContext { 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.

items: array of ContextItem { data, kind, label, captured_at }

One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.

data: map[unknown]

Relevant widget data, selections, and units. Use strings for exact decimals and large IDs.

kind: string

Nonblank descriptive kind. New kinds do not require a backend release.

minLength1
label: string

Nonblank attachment label for conversation rendering.

minLength1
captured_at: optional string

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: optional ErrorStatus { code, message, details }

When a null/undefined value is observed, it indicates it does not apply.

code: string
message: string
details: optional unknown

When a null/undefined value is observed, it indicates it does not apply.

ThreadCreateMessageResponse = BaseResponse { metadata, error }
data: CreateMessageResponse { response_id, thread_id, user_message_id }

Response payload for continuing a thread with a new message.

response_id: string
thread_id: string
user_message_id: string

V1Orders

Place, monitor, and manage trading orders.

Get Orders
GET/v1/accounts/{account_id}/orders
Get Order By ID
GET/v1/accounts/{account_id}/orders/{order_id}
Submit Orders
POST/v1/accounts/{account_id}/orders
Replace Order
PATCH/v1/accounts/{account_id}/orders/{order_id}
Cancel Open Order
DELETE/v1/accounts/{account_id}/orders/{order_id}
Cancel All Open Orders
DELETE/v1/accounts/{account_id}/orders
Get Executions
GET/v1/accounts/{account_id}/executions
ModelsExpand Collapse
Execution object { id, order_id, quantity, 8 more }

Represents a single fill of an order for an account.

id: string

Unique identifier for this execution report.

formatuuid
order_id: string

Identifier of the order this execution belongs to.

formatuuid
quantity: string

Filled quantity.

side: Side

Side of the fill.

One of the following:
"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

formatdate-time
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.

formatuuid
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
venue: optional string

Venue where this fill occurred, as reported by that venue. Distinct from an order’s venue, which is the routing destination. Codes are not normalized, so the format varies by venue. When a null/undefined value is observed, it indicates that there is no available data.

ExecutionList = array of Execution { id, order_id, quantity, 8 more }
id: string

Unique identifier for this execution report.

formatuuid
order_id: string

Identifier of the order this execution belongs to.

formatuuid
quantity: string

Filled quantity.

side: Side

Side of the fill.

One of the following:
"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

formatdate-time
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.

formatuuid
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
venue: optional string

Venue where this fill occurred, as reported by that venue. Distinct from an order’s venue, which is the routing destination. Codes are not normalized, so the format varies by venue. When a null/undefined value is observed, it indicates that there is no available data.

InstrumentIDOrSymbol = string

Instrument identifier: either an instrument UUID or a symbol (symbol for equities, OSI for options). Non-UUID inputs are resolved server-side.

NewOrderRequest object { order_type, quantity, side, 13 more }

Request to submit a new order

order_type: RequestOrderType

Type of order

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
quantity: string

Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)

side: Side

Side of the order

One of the following:
"BUY"
"SELL"
time_in_force: RequestTimeInForce

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
id: optional string

Optional client-provided unique ID (idempotency). Required to be unique per account.

maxLength64
expires_at: optional string

The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.

formatdate-time
extended_hours: optional boolean

Allow trading outside regular trading hours. Some brokers disallow options outside RTH.

instrument_id: optional InstrumentIDOrSymbol

Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.

minLength1
limit_offset: optional string

Limit offset for trailing stop-limit orders (signed)

limit_price: optional string

Limit price (required for LIMIT and STOP_LIMIT orders)

position_intent: optional RequestPositionEffect

Optional open/close intent for this order. When omitted, the platform determines the position effect.

One of the following:
"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional OrderStrategy

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.

One of the following:
Type object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
symbol: optional string

Trading symbol. For equities, use the ticker symbol (e.g., “TSLA”). For options, use the OSI symbol (e.g., “TSLA 250117C00190000”). Either symbol or instrument_id must be provided.

trailing_offset: optional string

Trailing offset amount (required for trailing orders)

trailing_offset_type: optional TrailingOffsetType

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
"PRICE"
"BPS"
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.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderList = array of Order { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderStatus = "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Order status

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
OrderStrategy = 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.

One of the following:
Type object { type }

Smart Order Router. Routes the order to the best available venue(s).

type: "SOR"

Execution strategy type.

object { type, end_at, start_at }

Volume-Weighted Average Price. Works the order to track the volume-weighted average price over the execution window.

type: "VWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
object { type, end_at, start_at }

Time-Weighted Average Price. Spreads execution evenly across the execution window.

type: "TWAP"

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) by which to finish working the order. Defaults to market close.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which to begin working the order. Defaults to the time the order is received.

formatdate-time
OrderType = "MARKET" or "LIMIT" or "STOP" or 4 more

Order type

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
QueueState = "AWAITING_RELEASE" or "RELEASED"

Parent order queue or hold state.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
ReplaceOrderRequest object { limit_offset, limit_price, quantity, 3 more }

Request to replace (modify) an existing order

At least one field must be provided.

limit_offset: optional string

New limit offset for trailing stop-limit orders (signed)

limit_price: optional string

New limit price for the order

quantity: optional string

New quantity for the order

stop_price: optional string

New stop price for the order

trailing_offset: optional string

New trailing offset for trailing orders

trailing_offset_type: optional TrailingOffsetType

New trailing offset type (PRICE or BPS)

One of the following:
"PRICE"
"BPS"
RequestOrderType = "MARKET" or "LIMIT" or "STOP" or 3 more

Strict order-type enum for order submission/replacement requests.

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
RequestPositionEffect = "OPEN" or "CLOSE"

Client-attested open/close intent for an order.

One of the following:
"OPEN"
"CLOSE"
RequestTimeInForce = "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Strict time-in-force enum for order submission requests.

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
Side = "BUY" or "SELL"

Side of the order (BUY or SELL).

One of the following:
"BUY"
"SELL"
TimeInForce = "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
TrailingOffsetType = "PRICE" or "BPS"

Trailing offset type for trailing stop orders.

One of the following:
"PRICE"
"BPS"
OrderGetOrdersResponse = BaseResponse { metadata, error }
data: OrderList { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderGetOrderByIDResponse = BaseResponse { metadata, error }
data: Order { 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.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderSubmitOrdersResponse = BaseResponse { metadata, error }
data: OrderList { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderReplaceOrderResponse = BaseResponse { metadata, error }
data: Order { 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.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderCancelOpenOrderResponse = BaseResponse { metadata, error }
data: Order { 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.

id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderCancelAllOpenOrdersResponse = BaseResponse { metadata, error }
data: OrderList { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
OrderGetExecutionsResponse = BaseResponse { metadata, error }
data: ExecutionList { id, order_id, quantity, 8 more }
id: string

Unique identifier for this execution report.

formatuuid
order_id: string

Identifier of the order this execution belongs to.

formatuuid
quantity: string

Filled quantity.

side: Side

Side of the fill.

One of the following:
"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

formatdate-time
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.

formatuuid
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
venue: optional string

Venue where this fill occurred, as reported by that venue. Distinct from an order’s venue, which is the routing destination. Codes are not normalized, so the format varies by venue. When a null/undefined value is observed, it indicates that there is no available data.

V1Positions

View positions and manage position instructions.

Get Positions
GET/v1/accounts/{account_id}/positions
Close Positions
DELETE/v1/accounts/{account_id}/positions
Close Position
DELETE/v1/accounts/{account_id}/positions/{instrument_id}
Get Position Instructions
GET/v1/accounts/{account_id}/positions/instructions
Submit Position Instructions
POST/v1/accounts/{account_id}/positions/instructions
Cancel Position Instruction
DELETE/v1/accounts/{account_id}/positions/instructions/{instruction_id}
ModelsExpand Collapse
Position object { account_id, available_quantity, instrument_id, 17 more }

Represents a holding of a particular instrument in an account

account_id: number

The account this position belongs to

formatint64
available_quantity: string

The quantity of a position that is free to be operated on.

instrument_id: string

Unique instrument identifier

formatuuid
instrument_type: SecurityType

Type of security

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
market_value: string

The current market value of the position

position_type: PositionType

The type of position

One of the following:
"LONG"
"SHORT"
quantity: string

The number of shares or contracts. Can be positive (long) or negative (short)

symbol: string

The trading symbol for the instrument

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.

formatdate
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
unrealized_pnl: optional string

The total unrealized profit or loss for this position based on current market value When a null/undefined value is observed, it indicates that there is no available data.

unrealized_pnl_pct: optional string

The unrealized profit/loss for the position, expressed as a percentage of the position’s cost basis (range: 0-100). When a null/undefined value is observed, it indicates that there is no available data.

PositionInstruction object { id, account_id, client_instruction_id, 11 more }

A position instruction and its current lifecycle state.

id: string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
account_id: number

Account the instruction belongs to.

formatint64
client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: PositionInstructionType

The action this instruction requests.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

formatuuid
quantity: string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
symbol: string

Options symbol (OSI) for display.

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.

formatdate-time
rejection: optional PositionInstructionRejection { 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

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.

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.

formatuuid
updated_at: optional string

When the instruction’s lifecycle state last changed. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
PositionInstructionList = array of PositionInstruction { id, account_id, client_instruction_id, 11 more }
id: string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
account_id: number

Account the instruction belongs to.

formatint64
client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: PositionInstructionType

The action this instruction requests.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

formatuuid
quantity: string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
symbol: string

Options symbol (OSI) for display.

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.

formatdate-time
rejection: optional PositionInstructionRejection { 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

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.

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.

formatuuid
updated_at: optional string

When the instruction’s lifecycle state last changed. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
PositionInstructionRejection 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

PositionInstructionStatus = "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_reason carries the detail. Covers both venue-reported rejections and rejections raised before the instruction reached the clearing venue (e.g. duplicate client_instruction_id, DO_NOT_EXERCISE / CONTRARY_EXERCISE submitted 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_reason carries the detail.
  • UNKNOWN: status could not be determined.
One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
PositionInstructionType = "EXERCISE" or "DO_NOT_EXERCISE" or "CONTRARY_EXERCISE"

The action to take against an options position.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
PositionList = array of Position { account_id, available_quantity, instrument_id, 17 more }
account_id: number

The account this position belongs to

formatint64
available_quantity: string

The quantity of a position that is free to be operated on.

instrument_id: string

Unique instrument identifier

formatuuid
instrument_type: SecurityType

Type of security

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
market_value: string

The current market value of the position

position_type: PositionType

The type of position

One of the following:
"LONG"
"SHORT"
quantity: string

The number of shares or contracts. Can be positive (long) or negative (short)

symbol: string

The trading symbol for the instrument

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.

formatdate
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
unrealized_pnl: optional string

The total unrealized profit or loss for this position based on current market value When a null/undefined value is observed, it indicates that there is no available data.

unrealized_pnl_pct: optional string

The unrealized profit/loss for the position, expressed as a percentage of the position’s cost basis (range: 0-100). When a null/undefined value is observed, it indicates that there is no available data.

PositionType = "LONG" or "SHORT"

Position type classification

One of the following:
"LONG"
"SHORT"
PositionGetPositionsResponse = BaseResponse { metadata, error }
data: PositionList { account_id, available_quantity, instrument_id, 17 more }
account_id: number

The account this position belongs to

formatint64
available_quantity: string

The quantity of a position that is free to be operated on.

instrument_id: string

Unique instrument identifier

formatuuid
instrument_type: SecurityType

Type of security

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
market_value: string

The current market value of the position

position_type: PositionType

The type of position

One of the following:
"LONG"
"SHORT"
quantity: string

The number of shares or contracts. Can be positive (long) or negative (short)

symbol: string

The trading symbol for the instrument

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.

formatdate
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
unrealized_pnl: optional string

The total unrealized profit or loss for this position based on current market value When a null/undefined value is observed, it indicates that there is no available data.

unrealized_pnl_pct: optional string

The unrealized profit/loss for the position, expressed as a percentage of the position’s cost basis (range: 0-100). When a null/undefined value is observed, it indicates that there is no available data.

PositionClosePositionsResponse = BaseResponse { metadata, error }
data: OrderList { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
PositionClosePositionResponse = BaseResponse { metadata, error }
data: OrderList { id, account_id, client_order_id, 31 more }
id: string

Engine-assigned unique identifier for this order (UUID).

account_id: number

Account placing the order

formatint64
client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

formatdate-time
filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: OrderType

Type of order (MARKET, LIMIT, etc.)

One of the following:
"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: Side

Side of the order (BUY or SELL)

One of the following:
"BUY"
"SELL"
status: OrderStatus

Current status of the order

One of the following:
"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
time_in_force: TimeInForce

Time in force instruction

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
updated_at: string

Timestamp of the most recent update (UTC)

formatdate-time
venue: string

MIC code of the venue where the order is routed

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.

details: optional array of string

Contains execution, rejection or cancellation details, if any

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.

formatdate-time
extended_hours: optional boolean

Whether the order is eligible for extended-hours trading.

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.

formatuuid
instrument_type: optional SecurityType

Type of security. null when the order has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

queue_state: optional QueueState

Parent order queue state, present when the order is awaiting release or released. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"AWAITING_RELEASE"
"RELEASED"
releases_at: optional string

Scheduled release time for orders awaiting release. When a null/undefined value is observed, it indicates it does not apply.

formatdate-time
stop_price: optional string

Stop price (for STOP and STOP_LIMIT orders) When a null/undefined value is observed, it indicates it does not apply.

strategy: optional object { type, end_at, start_at }

The execution strategy the order was submitted with, if any.

type: string

Execution strategy type.

end_at: optional string

UTC timestamp (RFC 3339) at which execution ends.

formatdate-time
start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

formatdate-time
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_offset_type: optional TrailingOffsetType

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"PRICE"
"BPS"
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.

formatdate-time
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.

formatuuid
underlying_instrument_type: optional SecurityType

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
PositionGetPositionInstructionsResponse = BaseResponse { metadata, error }
data: PositionInstructionList { id, account_id, client_instruction_id, 11 more }
id: string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
account_id: number

Account the instruction belongs to.

formatint64
client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: PositionInstructionType

The action this instruction requests.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

formatuuid
quantity: string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
symbol: string

Options symbol (OSI) for display.

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.

formatdate-time
rejection: optional PositionInstructionRejection { 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

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.

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.

formatuuid
updated_at: optional string

When the instruction’s lifecycle state last changed. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
PositionSubmitPositionInstructionsResponse = BaseResponse { metadata, error }
data: PositionInstructionList { id, account_id, client_instruction_id, 11 more }
id: string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
account_id: number

Account the instruction belongs to.

formatint64
client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: PositionInstructionType

The action this instruction requests.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

formatuuid
quantity: string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
symbol: string

Options symbol (OSI) for display.

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.

formatdate-time
rejection: optional PositionInstructionRejection { 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

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.

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.

formatuuid
updated_at: optional string

When the instruction’s lifecycle state last changed. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time
PositionCancelPositionInstructionResponse = BaseResponse { metadata, error }
data: PositionInstruction { id, account_id, client_instruction_id, 11 more }

A position instruction and its current lifecycle state.

id: string

Server-assigned id. Used as the path parameter on cancel.

formatuuid
account_id: number

Account the instruction belongs to.

formatint64
client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: PositionInstructionType

The action this instruction requests.

One of the following:
"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

formatuuid
quantity: string

Number of contracts included in the instruction.

Current lifecycle status.

One of the following:
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
symbol: string

Options symbol (OSI) for display.

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.

formatdate-time
rejection: optional PositionInstructionRejection { 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, requested
  • DNE_NOT_ON_EXPIRY / CEA_NOT_ON_EXPIRY → expiry, business_date
  • EXERCISE_PAST_CUTOFF → cutoff_time
  • DUPLICATE_INSTRUCTION → existing_id

Empty for reasons that carry no parameters. New keys may be added over time, so treat unknown keys leniently.

reason: string

Stable, machine-readable reason code, e.g. DNE_NOT_ON_EXPIRY, INSUFFICIENT_POSITION, OPTIONS_LEVEL_EXCEEDED, EXERCISE_PAST_CUTOFF.

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.

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.

formatuuid
updated_at: optional string

When the instruction’s lifecycle state last changed. When a null/undefined value is observed, it indicates that there is no available data.

formatdate-time

V1Private Markets

Browse private-market offerings and their indicative terms. Access requires the account holder to hold an accreditation attestation.

Get SPV
GET/v1/private-markets/spvs/{spv_id}
Withdraw a live IOI. Repeating a withdrawal returns 404.
DELETE/v1/private-markets/iois/{ioi_id}
Get Company
GET/v1/private-markets/companies/{company_id}
ModelsExpand Collapse
PrivateMarketGetSpvByIDResponse = BaseResponse { metadata, error }
data: SpvDetail { id, company_id, currency, 20 more }

An OPEN SPV’s identity, exact economics, and typed fee schedule.

id: string

Stable SPV identifier.

formatuuid
company_id: string

Company whose shares the vehicle holds.

formatuuid
currency: Currency

Terms currency.

name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
all_in_price_per_share: optional string

Price per share including fees.

custodian_name: optional string

Custodian.

fee_per_share: optional string

Per-share fee.

fee_terms: optional array of SpvFeeTermResource { charged_by, currency, description, 6 more }

Typed fee schedule.

charged_by: ChargedBy

Charging party.

One of the following:
"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
currency: Currency

Terms currency.

description: string

Plain-text fee disclosure.

fee_type: FeeType

Fee kind.

One of the following:
"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
frequency: FeeFrequency

Timing/cadence.

One of the following:
"ONE_TIME"
"ANNUAL"
"AT_EXIT"
"PASS_THROUGH"
amount: optional string

Exact fixed amount, when amount-based.

duration_years: optional string

Charge duration in years, when specified.

hurdle_rate: optional string

Carry hurdle as a decimal fraction, when specified.

rate: optional string

Decimal fraction between zero and one, when percentage-based.

funded_percent: optional string

Percentage of dollar allocation funded, derived from the allocation pair.

funding_deadline: optional string

Funding deadline.

formatdate-time
manager_name: optional string

SPV manager.

minimum_investment_amount: optional string

Minimum investment amount.

opened_at: optional string

Time the vehicle opened.

formatdate-time
price_per_share: optional string

Price per share excluding fees.

remaining_allocation_amount: optional string

Remaining dollar allocation.

remaining_share_allocation: optional string

Remaining share allocation.

share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

total_allocation_amount: optional string

Total dollar allocation.

total_share_allocation: optional string

Total share allocation.

valuation: optional string

Exact company valuation.

valuation_basis: optional ValuationBasis

Meaning of valuation.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
PrivateMarketGetIoisResponse = BaseResponse { metadata, error }
data: IoiListingResourceList { company, offering }
company: IoiCompanyResource { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: IoiOfferingResource { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
PrivateMarketCreateIoiResponse = BaseResponse { metadata, error }
data: IoiListingResource { company, offering }

IOI list item with the campaign identity needed to render it.

company: IoiCompanyResource { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: IoiOfferingResource { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
PrivateMarketUpdateIoiResponse = BaseResponse { metadata, error }
data: IoiListingResource { company, offering }

IOI list item with the campaign identity needed to render it.

company: IoiCompanyResource { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: IoiOfferingResource { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
PrivateMarketGetCompanyByIDResponse = BaseResponse { metadata, error }
data: CompanyDetail { id, name, profile, 6 more }

A company’s identity and its complete published profile.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

profile: CompanyProfileResource { categories, citations, customers, 9 more }

The complete versioned company profile.

categories: optional array of CompanyCategory { name, slug }

Company categories.

name: string

Display name.

slug: string

Stable lowercase category slug.

citations: optional array of CompanyCitation { id, source, title, 2 more }

Sources referenced by narrative sections and metrics.

id: string

Stable profile-local citation identifier.

source: string

Source publisher or provider.

title: string

Human-readable source title.

url: string

Source URL.

published_at: optional string

Source publication time, when known.

formatdate-time
customers: optional array of CompanyCustomer { name, logo_url }

Named customers evidenced by the source material.

name: string

Customer name.

logo_url: optional string

Customer logo, when supplied.

documents: optional array of CompanyDocumentResource { document_type, relation, title, 4 more }

Company-level research and source documents.

document_type: CompanyDocumentType

Typed document kind.

One of the following:
"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"

Relationship to this company.

One of the following:
"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional CompanyDocumentPreview { description, image_url }

Optional card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

published_at: optional string

Publication time, when known.

formatdate-time
headquarters: optional CompanyHeadquarters { city, country }

Company headquarters, when known.

city: string

City.

country: string

Country.

Known legal entities associated with the company.

Country name or ISO country code supplied by the source.

Legal name.

metric_series: optional array of CompanyMetricSeries { frequency, label, metric_key, 5 more }

Historical and estimated metric series.

frequency: MetricFrequency

Observation cadence.

One of the following:
"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: MetricKey

Canonical metric key.

One of the following:
"ANNUALIZED_REVENUE"
"REVENUE_GROWTH"
"VALUATION"
"ISSUE_PRICE"
"PRICE_PER_SHARE"
"AMOUNT_RAISED"
"ORDER_VOLUME"
"PIPELINE_VALUE"
"GROSS_MARGIN"
"EBIT_MARGIN"
"FCF_CONVERSION"
"CONTRACTED_REVENUE_PERCENT"
"NET_REVENUE_RETENTION"
"CUSTOMER_COUNT"
"MARKET_POSITION"
source: string

Publisher/provider name.

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
external_id: optional string

Optional source identifier retained for reconciliation.

points: optional array of CompanyMetricPoint { observed_at, value, value_type, 3 more }

Ordered observations.

observed_at: string

Observation time.

formatdate-time
value: string

Exact decimal value, serialized as a string.

value_type: MetricValueType

Historical or estimated classification.

One of the following:
"HISTORICAL"
"ESTIMATED"
citation_ids: optional array of string

Profile-local citation ids supporting this point.

source_event_id: optional string

Optional source event identifier.

source_metadata: optional map[string]

Optional provider reconciliation metadata.

source_url: optional string

Source URL, when available.

narrative_sections: optional array of CompanyNarrativeSection { body, display_order, title, citation_ids }

Ordered durable company fact and thesis blocks.

body: string

Plain-text section body.

display_order: number

Stable display position within the profile.

formatint32
title: string

Section heading.

citation_ids: optional array of string

Profile-local citation ids supporting this block.

overview: optional string

Long company overview.

people: optional array of CompanyPerson { name, external_id, roles }

Key people and their roles.

name: string

Display name.

external_id: optional string

Optional source identifier retained for reconciliation.

roles: optional array of CompanyPersonRole

One or more curated company roles.

One of the following:
"FOUNDER"
"CEO"
"OTHER"
social: optional array of CompanySocialLink { type, url }

Social/profile links.

Link type.

One of the following:

Link URL.

tagline: optional string

Short durable positioning line used with the company name.

profile_schema_version: number

Profile schema version discriminator.

formatint32
short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

published_at: optional string

Publication time.

formatdate-time

V1Private MarketsCompanies

ModelsExpand Collapse
CompanyCategory object { name, slug }

A company category.

name: string

Display name.

slug: string

Stable lowercase category slug.

CompanyCitation object { id, source, title, 2 more }

A cited source.

id: string

Stable profile-local citation identifier.

source: string

Source publisher or provider.

title: string

Human-readable source title.

url: string

Source URL.

published_at: optional string

Source publication time, when known.

formatdate-time
CompanyCustomer object { name, logo_url }

A named company customer.

name: string

Customer name.

logo_url: optional string

Customer logo, when supplied.

CompanyDetail object { id, name, profile, 6 more }

A company’s identity and its complete published profile.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

profile: CompanyProfileResource { categories, citations, customers, 9 more }

The complete versioned company profile.

categories: optional array of CompanyCategory { name, slug }

Company categories.

name: string

Display name.

slug: string

Stable lowercase category slug.

citations: optional array of CompanyCitation { id, source, title, 2 more }

Sources referenced by narrative sections and metrics.

id: string

Stable profile-local citation identifier.

source: string

Source publisher or provider.

title: string

Human-readable source title.

url: string

Source URL.

published_at: optional string

Source publication time, when known.

formatdate-time
customers: optional array of CompanyCustomer { name, logo_url }

Named customers evidenced by the source material.

name: string

Customer name.

logo_url: optional string

Customer logo, when supplied.

documents: optional array of CompanyDocumentResource { document_type, relation, title, 4 more }

Company-level research and source documents.

document_type: CompanyDocumentType

Typed document kind.

One of the following:
"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"

Relationship to this company.

One of the following:
"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional CompanyDocumentPreview { description, image_url }

Optional card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

published_at: optional string

Publication time, when known.

formatdate-time
headquarters: optional CompanyHeadquarters { city, country }

Company headquarters, when known.

city: string

City.

country: string

Country.

Known legal entities associated with the company.

Country name or ISO country code supplied by the source.

Legal name.

metric_series: optional array of CompanyMetricSeries { frequency, label, metric_key, 5 more }

Historical and estimated metric series.

frequency: MetricFrequency

Observation cadence.

One of the following:
"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: MetricKey

Canonical metric key.

One of the following:
"ANNUALIZED_REVENUE"
"REVENUE_GROWTH"
"VALUATION"
"ISSUE_PRICE"
"PRICE_PER_SHARE"
"AMOUNT_RAISED"
"ORDER_VOLUME"
"PIPELINE_VALUE"
"GROSS_MARGIN"
"EBIT_MARGIN"
"FCF_CONVERSION"
"CONTRACTED_REVENUE_PERCENT"
"NET_REVENUE_RETENTION"
"CUSTOMER_COUNT"
"MARKET_POSITION"
source: string

Publisher/provider name.

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
external_id: optional string

Optional source identifier retained for reconciliation.

points: optional array of CompanyMetricPoint { observed_at, value, value_type, 3 more }

Ordered observations.

observed_at: string

Observation time.

formatdate-time
value: string

Exact decimal value, serialized as a string.

value_type: MetricValueType

Historical or estimated classification.

One of the following:
"HISTORICAL"
"ESTIMATED"
citation_ids: optional array of string

Profile-local citation ids supporting this point.

source_event_id: optional string

Optional source event identifier.

source_metadata: optional map[string]

Optional provider reconciliation metadata.

source_url: optional string

Source URL, when available.

narrative_sections: optional array of CompanyNarrativeSection { body, display_order, title, citation_ids }

Ordered durable company fact and thesis blocks.

body: string

Plain-text section body.

display_order: number

Stable display position within the profile.

formatint32
title: string

Section heading.

citation_ids: optional array of string

Profile-local citation ids supporting this block.

overview: optional string

Long company overview.

people: optional array of CompanyPerson { name, external_id, roles }

Key people and their roles.

name: string

Display name.

external_id: optional string

Optional source identifier retained for reconciliation.

roles: optional array of CompanyPersonRole

One or more curated company roles.

One of the following:
"FOUNDER"
"CEO"
"OTHER"
social: optional array of CompanySocialLink { type, url }

Social/profile links.

Link type.

One of the following:

Link URL.

tagline: optional string

Short durable positioning line used with the company name.

profile_schema_version: number

Profile schema version discriminator.

formatint32
short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

published_at: optional string

Publication time.

formatdate-time
CompanyDocumentPreview object { description, image_url }

Optional document card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

CompanyDocumentRelation = "SUBJECT" or "CONNECTED"

How a document relates to the company.

One of the following:
"SUBJECT"
"CONNECTED"
CompanyDocumentResource object { document_type, relation, title, 4 more }

A company-level research or source document.

document_type: CompanyDocumentType

Typed document kind.

One of the following:
"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"

Relationship to this company.

One of the following:
"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional CompanyDocumentPreview { description, image_url }

Optional card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

published_at: optional string

Publication time, when known.

formatdate-time
CompanyDocumentType = "COMPANY_PROFILE" or "MARKET_RESEARCH" or "INTERVIEW" or 4 more

Company document kind.

One of the following:
"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"
CompanyHeadquarters object { city, country }

Company headquarters.

city: string

City.

country: string

Country.

A legal entity associated with the company.

Country name or ISO country code supplied by the source.

Legal name.

CompanyMetricPoint object { observed_at, value, value_type, 3 more }

One metric observation.

observed_at: string

Observation time.

formatdate-time
value: string

Exact decimal value, serialized as a string.

value_type: MetricValueType

Historical or estimated classification.

One of the following:
"HISTORICAL"
"ESTIMATED"
citation_ids: optional array of string

Profile-local citation ids supporting this point.

source_event_id: optional string

Optional source event identifier.

source_metadata: optional map[string]

Optional provider reconciliation metadata.

CompanyMetricSeries object { frequency, label, metric_key, 5 more }

A historical or estimated company metric series.

frequency: MetricFrequency

Observation cadence.

One of the following:
"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: MetricKey

Canonical metric key.

One of the following:
"ANNUALIZED_REVENUE"
"REVENUE_GROWTH"
"VALUATION"
"ISSUE_PRICE"
"PRICE_PER_SHARE"
"AMOUNT_RAISED"
"ORDER_VOLUME"
"PIPELINE_VALUE"
"GROSS_MARGIN"
"EBIT_MARGIN"
"FCF_CONVERSION"
"CONTRACTED_REVENUE_PERCENT"
"NET_REVENUE_RETENTION"
"CUSTOMER_COUNT"
"MARKET_POSITION"
source: string

Publisher/provider name.

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
external_id: optional string

Optional source identifier retained for reconciliation.

points: optional array of CompanyMetricPoint { observed_at, value, value_type, 3 more }

Ordered observations.

observed_at: string

Observation time.

formatdate-time
value: string

Exact decimal value, serialized as a string.

value_type: MetricValueType

Historical or estimated classification.

One of the following:
"HISTORICAL"
"ESTIMATED"
citation_ids: optional array of string

Profile-local citation ids supporting this point.

source_event_id: optional string

Optional source event identifier.

source_metadata: optional map[string]

Optional provider reconciliation metadata.

source_url: optional string

Source URL, when available.

CompanyNarrativeSection object { body, display_order, title, citation_ids }

One ordered durable narrative block.

body: string

Plain-text section body.

display_order: number

Stable display position within the profile.

formatint32
title: string

Section heading.

citation_ids: optional array of string

Profile-local citation ids supporting this block.

CompanyPerson object { name, external_id, roles }

A key person associated with the company.

name: string

Display name.

external_id: optional string

Optional source identifier retained for reconciliation.

roles: optional array of CompanyPersonRole

One or more curated company roles.

One of the following:
"FOUNDER"
"CEO"
"OTHER"
CompanyPersonRole = "FOUNDER" or "CEO" or "OTHER"

A key person’s relationship to the company.

One of the following:
"FOUNDER"
"CEO"
"OTHER"
CompanyProfileResource object { categories, citations, customers, 9 more }

The complete versioned company profile (schema version one).

categories: optional array of CompanyCategory { name, slug }

Company categories.

name: string

Display name.

slug: string

Stable lowercase category slug.

citations: optional array of CompanyCitation { id, source, title, 2 more }

Sources referenced by narrative sections and metrics.

id: string

Stable profile-local citation identifier.

source: string

Source publisher or provider.

title: string

Human-readable source title.

url: string

Source URL.

published_at: optional string

Source publication time, when known.

formatdate-time
customers: optional array of CompanyCustomer { name, logo_url }

Named customers evidenced by the source material.

name: string

Customer name.

logo_url: optional string

Customer logo, when supplied.

documents: optional array of CompanyDocumentResource { document_type, relation, title, 4 more }

Company-level research and source documents.

document_type: CompanyDocumentType

Typed document kind.

One of the following:
"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"

Relationship to this company.

One of the following:
"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional CompanyDocumentPreview { description, image_url }

Optional card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

published_at: optional string

Publication time, when known.

formatdate-time
headquarters: optional CompanyHeadquarters { city, country }

Company headquarters, when known.

city: string

City.

country: string

Country.

Known legal entities associated with the company.

Country name or ISO country code supplied by the source.

Legal name.

metric_series: optional array of CompanyMetricSeries { frequency, label, metric_key, 5 more }

Historical and estimated metric series.

frequency: MetricFrequency

Observation cadence.

One of the following:
"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: MetricKey

Canonical metric key.

One of the following:
"ANNUALIZED_REVENUE"
"REVENUE_GROWTH"
"VALUATION"
"ISSUE_PRICE"
"PRICE_PER_SHARE"
"AMOUNT_RAISED"
"ORDER_VOLUME"
"PIPELINE_VALUE"
"GROSS_MARGIN"
"EBIT_MARGIN"
"FCF_CONVERSION"
"CONTRACTED_REVENUE_PERCENT"
"NET_REVENUE_RETENTION"
"CUSTOMER_COUNT"
"MARKET_POSITION"
source: string

Publisher/provider name.

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
external_id: optional string

Optional source identifier retained for reconciliation.

points: optional array of CompanyMetricPoint { observed_at, value, value_type, 3 more }

Ordered observations.

observed_at: string

Observation time.

formatdate-time
value: string

Exact decimal value, serialized as a string.

value_type: MetricValueType

Historical or estimated classification.

One of the following:
"HISTORICAL"
"ESTIMATED"
citation_ids: optional array of string

Profile-local citation ids supporting this point.

source_event_id: optional string

Optional source event identifier.

source_metadata: optional map[string]

Optional provider reconciliation metadata.

source_url: optional string

Source URL, when available.

narrative_sections: optional array of CompanyNarrativeSection { body, display_order, title, citation_ids }

Ordered durable company fact and thesis blocks.

body: string

Plain-text section body.

display_order: number

Stable display position within the profile.

formatint32
title: string

Section heading.

citation_ids: optional array of string

Profile-local citation ids supporting this block.

overview: optional string

Long company overview.

people: optional array of CompanyPerson { name, external_id, roles }

Key people and their roles.

name: string

Display name.

external_id: optional string

Optional source identifier retained for reconciliation.

roles: optional array of CompanyPersonRole

One or more curated company roles.

One of the following:
"FOUNDER"
"CEO"
"OTHER"
social: optional array of CompanySocialLink { type, url }

Social/profile links.

Link type.

One of the following:

Link URL.

tagline: optional string

Short durable positioning line used with the company name.

A company social/profile link.

Link type.

One of the following:

Link URL.

CompanySocialType = "WEBSITE" or "LINKEDIN" or "X" or 2 more

Kind of company social/profile link.

One of the following:
"WEBSITE"
"LINKEDIN"
"X"
"FACEBOOK"
"OTHER"
MetricFrequency = "YEAR" or "QUARTER" or "MONTH" or "POINT_IN_TIME"

Observation cadence for a metric series.

One of the following:
"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
MetricKey = "ANNUALIZED_REVENUE" or "REVENUE_GROWTH" or "VALUATION" or 12 more

Canonical company metric key.

One of the following:
"ANNUALIZED_REVENUE"
"REVENUE_GROWTH"
"VALUATION"
"ISSUE_PRICE"
"PRICE_PER_SHARE"
"AMOUNT_RAISED"
"ORDER_VOLUME"
"PIPELINE_VALUE"
"GROSS_MARGIN"
"EBIT_MARGIN"
"FCF_CONVERSION"
"CONTRACTED_REVENUE_PERCENT"
"NET_REVENUE_RETENTION"
"CUSTOMER_COUNT"
"MARKET_POSITION"

V1Private MarketsIois

ModelsExpand Collapse
IoiCompanyResource object { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
IoiListingResource = IoiResource { id, account_id, created_at, 5 more }

IOI list item with the campaign identity needed to render it.

company: IoiCompanyResource { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: IoiOfferingResource { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
IoiListingResourceList = array of IoiListingResource { company, offering }
company: IoiCompanyResource { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: IoiOfferingResource { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
IoiOfferingResource object { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
IoiResource object { id, account_id, created_at, 5 more }

One live indication of interest.

id: string
account_id: number
created_at: string
currency: Currency

Terms currency.

notional_amount: string
offering_id: string
updated_at: string
nda_acceptance: optional NdaAcceptanceResource { accepted_at, agreement_id, version }

Most recent NDA acceptance linked to this IOI, if any.

accepted_at: string
agreement_id: string
version: number
NdaAcceptanceResource object { accepted_at, agreement_id, version }

Public evidence that an NDA version was accepted. Signing IP and other provenance remain audit-only and are never returned by this API.

accepted_at: string
agreement_id: string
version: number

V1Private MarketsOfferings

Browse private-market offerings and their indicative terms. Access requires the account holder to hold an accreditation attestation.

List Offerings
GET/v1/private-markets/offerings
Get Offering
GET/v1/private-markets/offerings/{offering_id}
ModelsExpand Collapse
Currency = "USD"

Terms currency.

MetricUnit = "USD" or "PERCENT" or "COUNT" or "RANK"

Unit for a resolved highlight metric.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
MetricValueType = "HISTORICAL" or "ESTIMATED"

Whether a resolved highlight value is observed or estimated.

One of the following:
"HISTORICAL"
"ESTIMATED"
NdaAgreementResource object { acceptance_text, acceptance_text_version, agreement_id, 4 more }

Current NDA agreement for an SPV-backed deal.

acceptance_text: string

Exact assent and authority representation shown to the signer.

acceptance_text_version: number

Version of the acceptance representation.

formatint32
agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

formatuuid
document_reference: string

Durable reference to the immutable NDA artifact.

document_sha256: string

Lowercase SHA-256 digest of the artifact bytes.

effective_at: string

Time this version became effective.

formatdate-time
version: number

Strictly increasing SPV-local agreement version.

formatint32
OfferingCard 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.

id: string

Stable public identifier; IOIs and history hang off it.

formatuuid

Derived classification.

One of the following:
"UPCOMING"
"ACTIVE"
company: OfferingCompany { id, name, short_description, 3 more }

Owning company identity.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

currency: Currency

Terms currency.

headline: string

Card/detail headline.

summary: string

Top opportunity paragraph.

indicative_price_high: optional string

Indicative price-per-share range, high endpoint.

indicative_price_low: optional string

Indicative price-per-share range, low endpoint.

indicative_valuation_basis: optional ValuationBasis

Meaning of the indicative valuation range.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
indicative_valuation_high: optional string

Indicative valuation range, high endpoint.

indicative_valuation_low: optional string

Indicative valuation range, low endpoint.

ioi_deadline: optional string

Deadline for indications of interest.

formatdate-time
minimum_ioi_amount: optional string

Minimum indication-of-interest amount.

spv: optional OfferingSpv { id, name, status, 5 more }

Attached SPV identity and lifecycle, once one exists.

id: string

Stable SPV identifier.

formatuuid
name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional NdaAgreementResource { acceptance_text, acceptance_text_version, agreement_id, 4 more }

Current NDA agreement. Absent when this SPV does not require one.

acceptance_text: string

Exact assent and authority representation shown to the signer.

acceptance_text_version: number

Version of the acceptance representation.

formatint32
agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

formatuuid
document_reference: string

Durable reference to the immutable NDA artifact.

document_sha256: string

Lowercase SHA-256 digest of the artifact bytes.

effective_at: string

Time this version became effective.

formatdate-time
version: number

Strictly increasing SPV-local agreement version.

formatint32
share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

OfferingCardList = array of OfferingCard { id, class, company, 11 more }
id: string

Stable public identifier; IOIs and history hang off it.

formatuuid

Derived classification.

One of the following:
"UPCOMING"
"ACTIVE"
company: OfferingCompany { id, name, short_description, 3 more }

Owning company identity.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

currency: Currency

Terms currency.

headline: string

Card/detail headline.

summary: string

Top opportunity paragraph.

indicative_price_high: optional string

Indicative price-per-share range, high endpoint.

indicative_price_low: optional string

Indicative price-per-share range, low endpoint.

indicative_valuation_basis: optional ValuationBasis

Meaning of the indicative valuation range.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
indicative_valuation_high: optional string

Indicative valuation range, high endpoint.

indicative_valuation_low: optional string

Indicative valuation range, low endpoint.

ioi_deadline: optional string

Deadline for indications of interest.

formatdate-time
minimum_ioi_amount: optional string

Minimum indication-of-interest amount.

spv: optional OfferingSpv { id, name, status, 5 more }

Attached SPV identity and lifecycle, once one exists.

id: string

Stable SPV identifier.

formatuuid
name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional NdaAgreementResource { acceptance_text, acceptance_text_version, agreement_id, 4 more }

Current NDA agreement. Absent when this SPV does not require one.

acceptance_text: string

Exact assent and authority representation shown to the signer.

acceptance_text_version: number

Version of the acceptance representation.

formatint32
agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

formatuuid
document_reference: string

Durable reference to the immutable NDA artifact.

document_sha256: string

Lowercase SHA-256 digest of the artifact bytes.

effective_at: string

Time this version became effective.

formatdate-time
version: number

Strictly increasing SPV-local agreement version.

formatint32
share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

OfferingClass = "UPCOMING" or "ACTIVE"

Derived offering classification.

One of the following:
"UPCOMING"
"ACTIVE"
OfferingCompany object { id, name, short_description, 3 more }

Company identity carried on an offering card/detail.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

OfferingDetail = OfferingCard { id, class, company, 11 more }

One offering with everything needed to render its detail payload.

disclosures: optional string

Important disclosures.

documents: optional array of OfferingDocumentResource { id, display_order, document_type, 6 more }

Campaign documents in display order.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
document_type: OfferingDocumentType

Document kind.

One of the following:
"TEARSHEET"
"KEY_TERMS"
"RISK_FACTORS"
"PPM"
"OTHER"
title: string

Display title.

object_key: optional string

Object-store key, when the document is stored internally.

published_at: optional string

Publication time, when known.

formatdate-time
source: optional string

Source publisher/provider.

source_url: optional string

Source URL.

url: optional string

Externally reachable URL, when the document lives at one.

highlights: optional array of OfferingHighlight { label, metric_key, unit, 3 more }

Ordered resolved highlights.

label: string

Display label (the highlight’s override, else the series’ own label).

metric_key: string

Canonical metric key selected by the highlight (e.g. REVENUE_GROWTH).

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
observed_at: optional string

Observation time of the latest value.

formatdate-time
value: optional string

Latest observed value, when the series carries any points.

value_type: optional MetricValueType

Whether the latest value is historical or estimated.

One of the following:
"HISTORICAL"
"ESTIMATED"
investment_thesis: optional string

Campaign-specific investment framing.

key_risks: optional array of OfferingKeyRisk { body, title, citation_ids }

Ordered key risks.

body: string

Plain-text risk body.

title: string

Risk heading.

citation_ids: optional array of string

Profile-local citation ids supporting the risk.

participants: optional array of OfferingParticipantResource { id, display_order, name, role }

Campaign participants in display order.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
name: string

Display name.

Presentation role.

One of the following:
"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
structure_description: optional string

Vehicle/structure framing shown before typed SPV terms exist.

why_now: optional string

Why-now framing.

OfferingDocumentResource object { id, display_order, document_type, 6 more }

A campaign document’s display metadata. Exactly one of url/object_key is set; an object key is resolved and signed elsewhere.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
document_type: OfferingDocumentType

Document kind.

One of the following:
"TEARSHEET"
"KEY_TERMS"
"RISK_FACTORS"
"PPM"
"OTHER"
title: string

Display title.

object_key: optional string

Object-store key, when the document is stored internally.

published_at: optional string

Publication time, when known.

formatdate-time
source: optional string

Source publisher/provider.

source_url: optional string

Source URL.

url: optional string

Externally reachable URL, when the document lives at one.

OfferingDocumentType = "TEARSHEET" or "KEY_TERMS" or "RISK_FACTORS" or 2 more

Kind of campaign document.

One of the following:
"TEARSHEET"
"KEY_TERMS"
"RISK_FACTORS"
"PPM"
"OTHER"
OfferingHighlight object { label, metric_key, unit, 3 more }

A curated highlight, resolved against the company profile’s metric series.

label: string

Display label (the highlight’s override, else the series’ own label).

metric_key: string

Canonical metric key selected by the highlight (e.g. REVENUE_GROWTH).

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
observed_at: optional string

Observation time of the latest value.

formatdate-time
value: optional string

Latest observed value, when the series carries any points.

value_type: optional MetricValueType

Whether the latest value is historical or estimated.

One of the following:
"HISTORICAL"
"ESTIMATED"
OfferingKeyRisk object { body, title, citation_ids }

One ordered key-risk block.

body: string

Plain-text risk body.

title: string

Risk heading.

citation_ids: optional array of string

Profile-local citation ids supporting the risk.

OfferingParticipantResource object { id, display_order, name, role }

An offering participant’s display data.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
name: string

Display name.

Presentation role.

One of the following:
"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
OfferingSpv 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.

id: string

Stable SPV identifier.

formatuuid
name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional NdaAgreementResource { acceptance_text, acceptance_text_version, agreement_id, 4 more }

Current NDA agreement. Absent when this SPV does not require one.

acceptance_text: string

Exact assent and authority representation shown to the signer.

acceptance_text_version: number

Version of the acceptance representation.

formatint32
agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

formatuuid
document_reference: string

Durable reference to the immutable NDA artifact.

document_sha256: string

Lowercase SHA-256 digest of the artifact bytes.

effective_at: string

Time this version became effective.

formatdate-time
version: number

Strictly increasing SPV-local agreement version.

formatint32
share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

ParticipantRole = "LEAD_INVESTOR" or "CO_LEAD" or "FUND_MANAGER" or "PLACEMENT_AGENT"

Presentation role of an offering participant.

One of the following:
"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
SpvStatus = "DRAFT" or "OPEN" or "CLOSED" or 2 more

SPV lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
ValuationBasis = "PRE_MONEY" or "POST_MONEY" or "REFERENCE" or "IMPLIED"

Meaning of an indicative valuation range or an SPV valuation.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
OfferingGetOfferingsResponse = BaseResponse { metadata, error }
data: OfferingCardList { id, class, company, 11 more }
id: string

Stable public identifier; IOIs and history hang off it.

formatuuid

Derived classification.

One of the following:
"UPCOMING"
"ACTIVE"
company: OfferingCompany { id, name, short_description, 3 more }

Owning company identity.

id: string

Stable company identifier.

formatuuid
name: string

Display name.

short_description: string

Short card/search description.

slug: string

Lowercase URL slug.

logo_url: optional string

Company logo URL, when known.

primary_domain: optional string

Canonical lowercase domain, when known.

currency: Currency

Terms currency.

headline: string

Card/detail headline.

summary: string

Top opportunity paragraph.

indicative_price_high: optional string

Indicative price-per-share range, high endpoint.

indicative_price_low: optional string

Indicative price-per-share range, low endpoint.

indicative_valuation_basis: optional ValuationBasis

Meaning of the indicative valuation range.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
indicative_valuation_high: optional string

Indicative valuation range, high endpoint.

indicative_valuation_low: optional string

Indicative valuation range, low endpoint.

ioi_deadline: optional string

Deadline for indications of interest.

formatdate-time
minimum_ioi_amount: optional string

Minimum indication-of-interest amount.

spv: optional OfferingSpv { id, name, status, 5 more }

Attached SPV identity and lifecycle, once one exists.

id: string

Stable SPV identifier.

formatuuid
name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional NdaAgreementResource { acceptance_text, acceptance_text_version, agreement_id, 4 more }

Current NDA agreement. Absent when this SPV does not require one.

acceptance_text: string

Exact assent and authority representation shown to the signer.

acceptance_text_version: number

Version of the acceptance representation.

formatint32
agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

formatuuid
document_reference: string

Durable reference to the immutable NDA artifact.

document_sha256: string

Lowercase SHA-256 digest of the artifact bytes.

effective_at: string

Time this version became effective.

formatdate-time
version: number

Strictly increasing SPV-local agreement version.

formatint32
share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

OfferingGetOfferingByIDResponse = BaseResponse { metadata, error }
data: OfferingDetail { disclosures, documents, highlights, 5 more }

One offering with everything needed to render its detail payload.

disclosures: optional string

Important disclosures.

documents: optional array of OfferingDocumentResource { id, display_order, document_type, 6 more }

Campaign documents in display order.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
document_type: OfferingDocumentType

Document kind.

One of the following:
"TEARSHEET"
"KEY_TERMS"
"RISK_FACTORS"
"PPM"
"OTHER"
title: string

Display title.

object_key: optional string

Object-store key, when the document is stored internally.

published_at: optional string

Publication time, when known.

formatdate-time
source: optional string

Source publisher/provider.

source_url: optional string

Source URL.

url: optional string

Externally reachable URL, when the document lives at one.

highlights: optional array of OfferingHighlight { label, metric_key, unit, 3 more }

Ordered resolved highlights.

label: string

Display label (the highlight’s override, else the series’ own label).

metric_key: string

Canonical metric key selected by the highlight (e.g. REVENUE_GROWTH).

Value unit.

One of the following:
"USD"
"PERCENT"
"COUNT"
"RANK"
observed_at: optional string

Observation time of the latest value.

formatdate-time
value: optional string

Latest observed value, when the series carries any points.

value_type: optional MetricValueType

Whether the latest value is historical or estimated.

One of the following:
"HISTORICAL"
"ESTIMATED"
investment_thesis: optional string

Campaign-specific investment framing.

key_risks: optional array of OfferingKeyRisk { body, title, citation_ids }

Ordered key risks.

body: string

Plain-text risk body.

title: string

Risk heading.

citation_ids: optional array of string

Profile-local citation ids supporting the risk.

participants: optional array of OfferingParticipantResource { id, display_order, name, role }

Campaign participants in display order.

id: string

Stable identifier.

formatuuid
display_order: number

Stable display position.

formatint32
name: string

Display name.

Presentation role.

One of the following:
"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
structure_description: optional string

Vehicle/structure framing shown before typed SPV terms exist.

why_now: optional string

Why-now framing.

V1Private MarketsSpvs

ModelsExpand Collapse
ChargedBy = "FUND_MANAGER" or "CLEAR_STREET" or "THIRD_PARTY"

Party charging a fee.

One of the following:
"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
FeeFrequency = "ONE_TIME" or "ANNUAL" or "AT_EXIT" or "PASS_THROUGH"

Fee timing/cadence.

One of the following:
"ONE_TIME"
"ANNUAL"
"AT_EXIT"
"PASS_THROUGH"
FeeType = "MANAGEMENT" or "CARRY" or "PLACEMENT" or 2 more

Kind of SPV fee.

One of the following:
"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
SpvDetail object { id, company_id, currency, 20 more }

An OPEN SPV’s identity, exact economics, and typed fee schedule.

id: string

Stable SPV identifier.

formatuuid
company_id: string

Company whose shares the vehicle holds.

formatuuid
currency: Currency

Terms currency.

name: string

Legal/display name.

status: SpvStatus

Lifecycle state.

One of the following:
"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
all_in_price_per_share: optional string

Price per share including fees.

custodian_name: optional string

Custodian.

fee_per_share: optional string

Per-share fee.

fee_terms: optional array of SpvFeeTermResource { charged_by, currency, description, 6 more }

Typed fee schedule.

charged_by: ChargedBy

Charging party.

One of the following:
"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
currency: Currency

Terms currency.

description: string

Plain-text fee disclosure.

fee_type: FeeType

Fee kind.

One of the following:
"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
frequency: FeeFrequency

Timing/cadence.

One of the following:
"ONE_TIME"
"ANNUAL"
"AT_EXIT"
"PASS_THROUGH"
amount: optional string

Exact fixed amount, when amount-based.

duration_years: optional string

Charge duration in years, when specified.

hurdle_rate: optional string

Carry hurdle as a decimal fraction, when specified.

rate: optional string

Decimal fraction between zero and one, when percentage-based.

funded_percent: optional string

Percentage of dollar allocation funded, derived from the allocation pair.

funding_deadline: optional string

Funding deadline.

formatdate-time
manager_name: optional string

SPV manager.

minimum_investment_amount: optional string

Minimum investment amount.

opened_at: optional string

Time the vehicle opened.

formatdate-time
price_per_share: optional string

Price per share excluding fees.

remaining_allocation_amount: optional string

Remaining dollar allocation.

remaining_share_allocation: optional string

Remaining share allocation.

share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

total_allocation_amount: optional string

Total dollar allocation.

total_share_allocation: optional string

Total share allocation.

valuation: optional string

Exact company valuation.

valuation_basis: optional ValuationBasis

Meaning of valuation.

One of the following:
"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
SpvFeeTermResource object { charged_by, currency, description, 6 more }

One typed SPV fee term.

charged_by: ChargedBy

Charging party.

One of the following:
"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
currency: Currency

Terms currency.

description: string

Plain-text fee disclosure.

fee_type: FeeType

Fee kind.

One of the following:
"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
frequency: FeeFrequency

Timing/cadence.

One of the following:
"ONE_TIME"
"ANNUAL"
"AT_EXIT"
"PASS_THROUGH"
amount: optional string

Exact fixed amount, when amount-based.

duration_years: optional string

Charge duration in years, when specified.

hurdle_rate: optional string

Carry hurdle as a decimal fraction, when specified.

rate: optional string

Decimal fraction between zero and one, when percentage-based.

V1Screener

Search instruments and manage saved screeners.

Search Screener
POST/v1/screener
Get Screeners
GET/v1/saved-screeners
Get Screener By ID
GET/v1/saved-screeners/{screener_id}
Create Screener
POST/v1/saved-screeners
Replace Screener
Deprecated
PUT/v1/saved-screeners/{screener_id}
Patch Screener
PATCH/v1/saved-screeners/{screener_id}
Delete Screener
DELETE/v1/saved-screeners/{screener_id}
Get Screener Catalog
GET/v1/screener/catalog
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: Enums { builtin_variable, category, date_unit, 7 more }

The enum universes every other section’s values are drawn from.

builtin_variable: array of string

The built-in variable names, e.g. "today", "start_of_year".

category: array of string

FieldCategory variants, e.g. "PROFILE", "VALUATION".

date_unit: array of string

The modifier date units, e.g. "DAY", "YEAR".

format: array of string

FieldFormat variants, e.g. "CURRENCY", "PERCENT".

lookback: array of string

FieldLookback variants, e.g. "ONE_WEEK", "YEAR_TO_DATE".

modifier_op: array of string

The modifier operation names, "ADD" and "SUBTRACT".

operator: array of string

FilterOperator variants, e.g. "BETWEEN", "ONE_OF".

operator_arg: array of string

The modifier arg forms, e.g. "LEFT_INCLUSIVE".

period: array of string

FieldPeriod variants, e.g. "QUARTER", "ANNUAL".

value_type: array of string

FieldValueType variants, e.g. "DECIMAL", "DATE".

fields: FieldColumns { description, display_name, kind, name }

Struct-of-arrays of the remaining per-field scalars.

description: array of string

A human-readable description of the field.

display_name: array of string

The display name of the column when no period / lookback is set.

kind: array of number

Index into Catalog::kinds.

name: array of string

The base field name, as accepted in a request’s left.name / right[].variable field reference.

kinds: array of FieldKind { category, combinations, default_combination, 2 more }

The deduplicated (category, format, value_type, combinations, default combination) tuples; fields.kind[i] indexes into this.

category: string

The field’s category, a member of enums.category.

combinations: array of Combination { lookback, period }

Ordered, in declaration order. The empty combination is the current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

default_combination: Combination { lookback, period }

The combination a bare field reference resolves to: the field’s current or most recent value when the kind offers it, otherwise the kind’s default period / lookback.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

format: string

The field’s format, a member of enums.format.

value_type: string

The field’s value type, a member of enums.value_type.

modifiers: array of ModifierDef { args, name }

The modifier operations and their legal args forms.

args: array of ModifierArg { kind, note, position, 3 more }

The positional args slots, in order.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

formatint32
minimum0
required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

name: string

The modifier operation name: one of "ADD" or "SUBTRACT".

operators_by_value_type: map[array of string]

value_type -> canonically-ordered valid operators.

rules: Rules { 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.

defaults: string

Omitting both is always valid; it resolves to the field’s current or most recent value when the kind offers it, otherwise to default_combination.

modifiers: string

Where modifier is legal, its args forms, and unit semantics.

operators: string

Filter operator value counts for the right array.

variables: string

Built-in variables and field references in right[].variable.

suffixes: map[string]

Axis token -> abbreviation, for every token in use in kinds.

variables: array of VariableDef { description, name, resolves_to }

The built-in variables accepted in filters[].right[].variable.

description: string

A human-readable description of what the variable resolves to.

name: string

The variable name as accepted in filters[].right[].variable.

resolves_to: string

What the variable resolves to at call time (DATE for all built-ins).

Combination object { lookback, period }

A single combination, expressed with the API’s own parameter names.

At most one of period / lookback is set; a combination with neither selects the field’s current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

Enums object { builtin_variable, category, date_unit, 7 more }

The enum universes every other section’s values are drawn from.

builtin_variable: array of string

The built-in variable names, e.g. "today", "start_of_year".

category: array of string

FieldCategory variants, e.g. "PROFILE", "VALUATION".

date_unit: array of string

The modifier date units, e.g. "DAY", "YEAR".

format: array of string

FieldFormat variants, e.g. "CURRENCY", "PERCENT".

lookback: array of string

FieldLookback variants, e.g. "ONE_WEEK", "YEAR_TO_DATE".

modifier_op: array of string

The modifier operation names, "ADD" and "SUBTRACT".

operator: array of string

FilterOperator variants, e.g. "BETWEEN", "ONE_OF".

operator_arg: array of string

The modifier arg forms, e.g. "LEFT_INCLUSIVE".

period: array of string

FieldPeriod variants, e.g. "QUARTER", "ANNUAL".

value_type: array of string

FieldValueType variants, e.g. "DECIMAL", "DATE".

FieldColumns object { description, display_name, kind, name }

Struct-of-arrays: all four fields are the same length, index i is one field.

description: array of string

A human-readable description of the field.

display_name: array of string

The display name of the column when no period / lookback is set.

kind: array of number

Index into Catalog::kinds.

name: array of string

The base field name, as accepted in a request’s left.name / right[].variable field reference.

FieldKind object { category, combinations, default_combination, 2 more }

One deduplicated (category, format, value_type, combinations, default combination) tuple; fields.kind[i] indexes into Catalog::kinds.

category: string

The field’s category, a member of enums.category.

combinations: array of Combination { lookback, period }

Ordered, in declaration order. The empty combination is the current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

default_combination: Combination { lookback, period }

The combination a bare field reference resolves to: the field’s current or most recent value when the kind offers it, otherwise the kind’s default period / lookback.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

format: string

The field’s format, a member of enums.format.

value_type: string

The field’s value type, a member of enums.value_type.

FieldLookback = "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Historical lookback window for price/change fields.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
FieldPeriod = "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Reporting period for financial data fields.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
FieldRef object { name, lookback, period, value_type }

A reference to a screener field.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
FieldType = "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of a screener field value.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
FilterOpSpec object { name, args }

Operator specification with optional behavioral arguments.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
FilterOperator = "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

Filter operators supported by the screener.

Abbreviated and lowercase forms are accepted as serde aliases for backward compatibility with earlier API revisions; the canonical wire form is the SCREAMING_SNAKE_CASE rendering.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
FilterValue object { value, variable }

A filter value: either a literal or a variable reference.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
Modifier object { args, name }

Arithmetic modifier applied to a variable value.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
ModifierArg object { kind, note, position, 3 more }

One positional modifier.args slot.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

formatint32
minimum0
required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

ModifierDef object { args, name }

A modifier operation and the positional args each context accepts.

args: array of ModifierArg { kind, note, position, 3 more }

The positional args slots, in order.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

formatint32
minimum0
required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

name: string

The modifier operation name: one of "ADD" or "SUBTRACT".

ModifierOp = "ADD" or "SUBTRACT"

Modifier operation applied to a variable.

One of the following:
"ADD"
"SUBTRACT"
OperatorArg = "LEFT_INCLUSIVE" or "RIGHT_INCLUSIVE" or "LEFT_EXCLUSIVE" or 2 more

Argument that modifies operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
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.

defaults: string

Omitting both is always valid; it resolves to the field’s current or most recent value when the kind offers it, otherwise to default_combination.

modifiers: string

Where modifier is legal, its args forms, and unit semantics.

operators: string

Filter operator value counts for the right array.

variables: string

Built-in variables and field references in right[].variable.

ScreenerColumn object { field, name, value, type }

A single column in the screener search response.

field: FieldRef { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
One of the following:
number
string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

ScreenerEntry object { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerEntryList = array of ScreenerEntry { id, created_at, filters, 5 more }
id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerFilter object { field, operator, value }

A single filter criterion for the screener.

field: string

Field to filter on (e.g., “market_cap”, “sector”, “price”)

operator: string

Comparison operator (e.g., “eq”, “gte”, “lte”, “in”)

value: unknown

Filter value

ScreenerRow = array of ScreenerColumn { field, name, value, type }

A single row of screener columns for one instrument.

field: FieldRef { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
One of the following:
number
string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

ScreenerRowList = array of ScreenerRow { field, name, value, type }
field: FieldRef { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
One of the following:
number
string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

SearchFilter 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: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
SortSpec object { field, direction }

A sort specification pairing a field with a direction.

field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
Variable object { name, lookback, modifier, period }

A variable reference (field or built-in like today).

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
VariableDef object { description, name, resolves_to }

A built-in variable, as accepted in filters[].right[].variable.

description: string

A human-readable description of what the variable resolves to.

name: string

The variable name as accepted in filters[].right[].variable.

resolves_to: string

What the variable resolves to at call time (DATE for all built-ins).

ScreenerSearchScreenerResponse = BaseResponse { metadata, error }
data: ScreenerRowList { field, name, value, type }
field: FieldRef { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
One of the following:
number
string
type: optional string

Value format hint: “CURR_USD”, “PERCENT”, etc. Omitted when not applicable. When a null/undefined value is observed, it indicates it does not apply.

ScreenerGetScreenersResponse = BaseResponse { metadata, error }
data: ScreenerEntryList { id, created_at, filters, 5 more }
id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerGetScreenerByIDResponse = BaseResponse { metadata, error }
data: ScreenerEntry { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerCreateScreenerResponse = BaseResponse { metadata, error }
data: ScreenerEntry { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerReplaceScreenerResponse = BaseResponse { metadata, error }
data: ScreenerEntry { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerPatchScreenerResponse = BaseResponse { metadata, error }
data: ScreenerEntry { id, created_at, filters, 5 more }

A saved screener configuration entry

id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: FieldRef { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional FilterOpSpec { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

The operator to apply.

One of the following:
"LESS_THAN"
"LESS_OR_EQUAL"
"GREATER_THAN"
"GREATER_OR_EQUAL"
"EQUAL"
"BETWEEN"
"NOT_BETWEEN"
"ONE_OF"
"REGEX"
"BEGINS_WITH"
"ENDS_WITH"
"CONTAINS"
"IS_NULL"
"IS_NOT_NULL"
args: optional array of OperatorArg

Optional arguments that modify operator behavior.

One of the following:
"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
right: optional array of FilterValue { value, variable }

The value(s) to compare against. Omit together with op for an unenabled filter.

value: optional number or string
One of the following:
number
string
variable: optional Variable { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional Modifier { args, name }

Optional arithmetic modifier.

args: array of number or string
One of the following:
number
string

The modifier operation.

One of the following:
"ADD"
"SUBTRACT"
period: optional FieldPeriod

Optional reporting period.

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
name: string
shared: boolean

Whether any user may fetch this screener by id.

updated_at: string
columns: optional array of FieldRef { name, lookback, period, value_type }

Field references included when running this screener.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: FieldRef { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional FieldLookback

Optional historical lookback window.

One of the following:
"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional FieldPeriod

Optional reporting period (e.g. quarter or TTM).

One of the following:
"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional FieldType

The data type of the field value. Present only in responses.

One of the following:
"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional SortDirection

Sort direction (defaults to DESC).

One of the following:
"ASC"
"DESC"
ScreenerGetScreenerCatalogResponse = BaseResponse { metadata, error }
data: Catalog { 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: Enums { builtin_variable, category, date_unit, 7 more }

The enum universes every other section’s values are drawn from.

builtin_variable: array of string

The built-in variable names, e.g. "today", "start_of_year".

category: array of string

FieldCategory variants, e.g. "PROFILE", "VALUATION".

date_unit: array of string

The modifier date units, e.g. "DAY", "YEAR".

format: array of string

FieldFormat variants, e.g. "CURRENCY", "PERCENT".

lookback: array of string

FieldLookback variants, e.g. "ONE_WEEK", "YEAR_TO_DATE".

modifier_op: array of string

The modifier operation names, "ADD" and "SUBTRACT".

operator: array of string

FilterOperator variants, e.g. "BETWEEN", "ONE_OF".

operator_arg: array of string

The modifier arg forms, e.g. "LEFT_INCLUSIVE".

period: array of string

FieldPeriod variants, e.g. "QUARTER", "ANNUAL".

value_type: array of string

FieldValueType variants, e.g. "DECIMAL", "DATE".

fields: FieldColumns { description, display_name, kind, name }

Struct-of-arrays of the remaining per-field scalars.

description: array of string

A human-readable description of the field.

display_name: array of string

The display name of the column when no period / lookback is set.

kind: array of number

Index into Catalog::kinds.

name: array of string

The base field name, as accepted in a request’s left.name / right[].variable field reference.

kinds: array of FieldKind { category, combinations, default_combination, 2 more }

The deduplicated (category, format, value_type, combinations, default combination) tuples; fields.kind[i] indexes into this.

category: string

The field’s category, a member of enums.category.

combinations: array of Combination { lookback, period }

Ordered, in declaration order. The empty combination is the current or most recent value.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

default_combination: Combination { lookback, period }

The combination a bare field reference resolves to: the field’s current or most recent value when the kind offers it, otherwise the kind’s default period / lookback.

lookback: optional string

The lookback, a member of enums.lookback.

period: optional string

The period, a member of enums.period.

format: string

The field’s format, a member of enums.format.

value_type: string

The field’s value type, a member of enums.value_type.

modifiers: array of ModifierDef { args, name }

The modifier operations and their legal args forms.

args: array of ModifierArg { kind, note, position, 3 more }

The positional args slots, in order.

kind: string

"NUMBER" or "ENUM".

note: string

The arg’s meaning and constraints.

position: number

Zero-based position in the args array.

formatint32
minimum0
required: boolean

Whether the arg must be present in every modifier use.

default: optional string

For optional args: the value used when the arg is omitted.

ref: optional string

For "ENUM" args: the enums list the value must be a member of.

name: string

The modifier operation name: one of "ADD" or "SUBTRACT".

operators_by_value_type: map[array of string]

value_type -> canonically-ordered valid operators.

rules: Rules { 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.

defaults: string

Omitting both is always valid; it resolves to the field’s current or most recent value when the kind offers it, otherwise to default_combination.

modifiers: string

Where modifier is legal, its args forms, and unit semantics.

operators: string

Filter operator value counts for the right array.

variables: string

Built-in variables and field references in right[].variable.

suffixes: map[string]

Axis token -> abbreviation, for every token in use in kinds.

variables: array of VariableDef { description, name, resolves_to }

The built-in variables accepted in filters[].right[].variable.

description: string

A human-readable description of what the variable resolves to.

name: string

The variable name as accepted in filters[].right[].variable.

resolves_to: string

What the variable resolves to at call time (DATE for all built-ins).

V1Watchlist

Create and manage watchlists.

Get Watchlists
GET/v1/watchlists
Get Watchlist By ID
GET/v1/watchlists/{watchlist_id}
Create Watchlist
POST/v1/watchlists
Delete Watchlist
DELETE/v1/watchlists/{watchlist_id}
Add Watchlist Item
POST/v1/watchlists/{watchlist_id}/items
Delete Watchlist Item
DELETE/v1/watchlists/{watchlist_id}/items/{item_id}
ModelsExpand Collapse
AddWatchlistItemData object { item_id }

Response data for adding a watchlist item

item_id: string

ID of the created item

formatuuid
WatchlistDetail object { id, created_at, items, name }

Detailed watchlist with all items

id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
items: array of WatchlistItemEntry { id, added_at, added_price, instrument }

Items in the watchlist

id: string

Item ID

formatuuid
added_at: string

When the item was added

formatdate-time
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 Instrument { id, country_of_issue, currency, 21 more }

Instrument details When a null/undefined value is observed, it indicates that there is no available data.

id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

date: string

The expiration date.

formatdate
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

name: string

The user-provided watchlist name.

WatchlistEntry object { id, created_at, name }

Represents a user watchlist.

id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
name: string

The user-provided watchlist name.

WatchlistEntryList = array of WatchlistEntry { id, created_at, name }
id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
name: string

The user-provided watchlist name.

WatchlistItemEntry object { id, added_at, added_price, instrument }

A single item in a watchlist

id: string

Item ID

formatuuid
added_at: string

When the item was added

formatdate-time
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 Instrument { id, country_of_issue, currency, 21 more }

Instrument details When a null/undefined value is observed, it indicates that there is no available data.

id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

date: string

The expiration date.

formatdate
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

WatchlistGetWatchlistsResponse = BaseResponse { metadata, error }
data: WatchlistEntryList { id, created_at, name }
id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
name: string

The user-provided watchlist name.

WatchlistGetWatchlistByIDResponse = BaseResponse { metadata, error }
data: WatchlistDetail { id, created_at, items, name }

Detailed watchlist with all items

id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
items: array of WatchlistItemEntry { id, added_at, added_price, instrument }

Items in the watchlist

id: string

Item ID

formatuuid
added_at: string

When the item was added

formatdate-time
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 Instrument { id, country_of_issue, currency, 21 more }

Instrument details When a null/undefined value is observed, it indicates that there is no available data.

id: string

Unique instrument identifier (UUID)

formatuuid
country_of_issue: string

The ISO country code of the instrument’s issue

currency: string

The ISO currency code in which the instrument is traded

easy_to_borrow: boolean

Indicates if the instrument is classified as Easy-To-Borrow

is_fractionable: boolean

Indicates if the instrument supports fractional-quantity orders

is_liquidation_only: boolean

Indicates if the instrument is liquidation only and cannot be bought

is_marginable: boolean

Indicates if the instrument is marginable

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

is_tradable: boolean

Indicates if the instrument is tradable

symbol: string

The trading symbol for the instrument

venue: string

The MIC code of the primary listing venue

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.

instrument_type: optional SecurityType

The type of security (e.g., Common Stock, ETF) When a null/undefined value is observed, it indicates that there is no available data.

One of the following:
"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
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.

date: string

The expiration date.

formatdate
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.

tick_rules: optional array of TickRule { start_price, tick_size, end_price }

Price bands this instrument quotes on, ascending. Absent when we have no schedule for it, which includes an option whose penny-program status our reference data never supplied.

start_price: string

Lowest price in the band, inclusive.

tick_size: string

Minimum price increment within the band.

end_price: optional string

Upper bound of the band, exclusive. Absent on the last band, which runs to infinity. When a null/undefined value is observed, it indicates it does not apply.

name: string

The user-provided watchlist name.

WatchlistCreateWatchlistResponse = BaseResponse { metadata, error }
data: WatchlistEntry { id, created_at, name }

Represents a user watchlist.

id: string

The unique identifier for the watchlist.

formatuuid
created_at: string

The timestamp when the watchlist was created.

formatdate-time
name: string

The user-provided watchlist name.

WatchlistDeleteWatchlistResponse = BaseResponse { metadata, error }
data: unknown
WatchlistAddWatchlistItemResponse = BaseResponse { metadata, error }
data: AddWatchlistItemData { item_id }

Response data for adding a watchlist item

item_id: string

ID of the created item

formatuuid
WatchlistDeleteWatchlistItemResponse = BaseResponse { metadata, error }
data: unknown