Skip to content
Start Trading

V1

ModelsExpand Collapse
security_type: "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Security type

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
sort_direction: "ASC" or "DESC"

Sort direction for sorted results

"ASC"
"DESC"

V1Accounts

Manage trading accounts, balances, and portfolio history.

Get Accounts
$ clst v1:accounts get-accounts
GET/v1/accounts
Get Account By ID
$ clst v1:accounts get-account-by-id
GET/v1/accounts/{account_id}
Patch Account By ID
$ clst v1:accounts patch-account-by-id
PATCH/v1/accounts/{account_id}
Get Account Balances
$ clst v1:accounts get-account-balances
GET/v1/accounts/{account_id}/balances
Get Portfolio History
$ clst v1:accounts 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

account_holder_entity_id: number

The account holder entity identifier

account_holder_entity_kind: "NATURAL_PERSON" or "LEGAL_ENTITY" or "OTHER"

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

"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

options_level: number

The options level of the account

short_name: string

The short name of the account

status: "ACTIVE" or "INACTIVE" or "CLOSED"

The current status of the account

"ACTIVE"
"INACTIVE"
"CLOSED"
subtype: "CASH" or "MARGIN" or "OTHER"

The sub-type of account

"CASH"
"MARGIN"
"OTHER"
type: "CUSTOMER" or "OTHER"

The type of account

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

account_balances: 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

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: "OTHER" or "NONE" or "PORTFOLIO_MARGIN" or 6 more

The applicable margin model for the account

"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: object { 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.

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 object { initial_margin_excess, initial_margin_requirement, intraday_details, 5 more }

Margin-account-only details. When a null/undefined value is observed, it indicates it does not apply.

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: object { 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: object { 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.

usage: optional object { 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.

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

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.

account_holder_entity_kind: "NATURAL_PERSON" or "LEGAL_ENTITY" or "OTHER"

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

"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
account_list: array of Account { id, account_holder_entity_id, account_holder_entity_kind, 8 more }
id: number

The unique identifier for the account

account_holder_entity_id: number

The account holder entity identifier

account_holder_entity_kind: "NATURAL_PERSON" or "LEGAL_ENTITY" or "OTHER"

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

"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

options_level: number

The options level of the account

short_name: string

The short name of the account

status: "ACTIVE" or "INACTIVE" or "CLOSED"

The current status of the account

"ACTIVE"
"INACTIVE"
"CLOSED"
subtype: "CASH" or "MARGIN" or "OTHER"

The sub-type of account

"CASH"
"MARGIN"
"OTHER"
type: "CUSTOMER" or "OTHER"

The type of account

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

account_settings: object { risk }
risk: optional object { 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.

account_status: "ACTIVE" or "INACTIVE" or "CLOSED"

Account status

"ACTIVE"
"INACTIVE"
"CLOSED"
account_subtype: "CASH" or "MARGIN" or "OTHER"

Account subtype classification providing more granular categorization

"CASH"
"MARGIN"
"OTHER"
account_type: "CUSTOMER" or "OTHER"

Account type classification

"CUSTOMER"
"OTHER"
account_with_personal_details: object { id, account_holder_entity_id, account_holder_entity_kind, 12 more }

Represents a trading account

id: number

The unique identifier for the account

account_holder_entity_id: number

The account holder entity identifier

account_holder_entity_kind: "NATURAL_PERSON" or "LEGAL_ENTITY" or "OTHER"

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

"NATURAL_PERSON"
"LEGAL_ENTITY"
"OTHER"
full_name: string

The full legal name of the account

open_date: string

The date the account was opened

options_level: number

The options level of the account

short_name: string

The short name of the account

status: "ACTIVE" or "INACTIVE" or "CLOSED"

The current status of the account

"ACTIVE"
"INACTIVE"
"CLOSED"
subtype: "CASH" or "MARGIN" or "OTHER"

The sub-type of account

"CASH"
"MARGIN"
"OTHER"
type: "CUSTOMER" or "OTHER"

The type of account

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

country_of_tax_residency: optional string

The country of tax residency of the account-holder entity. null when not on file or entity reference data is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

date_of_birth: optional string

The date of birth of the account holder’s primary contact. null when not on file or entity reference data is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

mailing_address: optional object { city, country, line1, 3 more }

The mailing address of the account-holder entity. null when no mailing address is on file or entity reference data is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

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.

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

usage: optional object { 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.

margin_details_usage: object { total, used }
total: string

The total margin available in the current model.

used: string

The amount of margin that is currently being utilized.

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

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

margin_type: "OTHER" or "NONE" or "PORTFOLIO_MARGIN" or 6 more

An account’s margin type

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

The date for this segment

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

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

The date for this segment

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

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

V1API Version

Endpoints for API service metadata.

Get the API version.
$ clst v1:api-version get-version
GET/v1/version
ModelsExpand Collapse
version: object { version }

API version information

version: string

API version string

V1Calendar

Access clocks and financial calendars for market sessions and events.

Get Clock
$ clst v1:calendar get-clock
GET/v1/clock
Get Market Hours Calendar.
$ clst v1:calendar get-market-hours-calendar
GET/v1/calendars/market-hours
ModelsExpand Collapse
clock_detail: object { clock }

Current server time and market clock information

clock: string

Current server time in UTC

day_type: "TRADING_DAY" or "EARLY_CLOSE" or "HOLIDAY" or "WEEKEND"

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

"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
market_hours_detail: 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

date: string

The date for which market hours are provided

market: "us_equities" or "us_options"

Market type identifier

"us_equities"
"us_options"
market_name: string

Human-readable market name

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

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

after_hours: optional object { close, open, time_until_close, time_until_open }

After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

overnight: optional object { close, open, time_until_close, time_until_open }

Overnight session schedule (prior evening through early morning), null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

pre_market: optional object { close, open, time_until_close, time_until_open }

Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

regular: optional object { close, open, time_until_close, time_until_open }

Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

status: object { day_type, is_open, current_session }

Market status information

day_type: "TRADING_DAY" or "EARLY_CLOSE" or "HOLIDAY" or "WEEKEND"

The type of trading day

"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional "overnight" or "pre_market" or "regular" or "after_hours"

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

"overnight"
"pre_market"
"regular"
"after_hours"
timezone: string

IANA timezone identifier for the market

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

Trading session schedules for the requested date with time_until fields

after_hours: optional object { close, open, time_until_close, time_until_open }

After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

overnight: optional object { close, open, time_until_close, time_until_open }

Overnight session schedule (prior evening through early morning), null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

pre_market: optional object { close, open, time_until_close, time_until_open }

Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

regular: optional object { close, open, time_until_close, time_until_open }

Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

market_hours_detail_list: array of MarketHoursDetail { current_time, date, market, 5 more }
current_time: string

Current time in market timezone with offset

date: string

The date for which market hours are provided

market: "us_equities" or "us_options"

Market type identifier

"us_equities"
"us_options"
market_name: string

Human-readable market name

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

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

after_hours: optional object { close, open, time_until_close, time_until_open }

After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

overnight: optional object { close, open, time_until_close, time_until_open }

Overnight session schedule (prior evening through early morning), null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

pre_market: optional object { close, open, time_until_close, time_until_open }

Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

regular: optional object { close, open, time_until_close, time_until_open }

Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

status: object { day_type, is_open, current_session }

Market status information

day_type: "TRADING_DAY" or "EARLY_CLOSE" or "HOLIDAY" or "WEEKEND"

The type of trading day

"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional "overnight" or "pre_market" or "regular" or "after_hours"

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

"overnight"
"pre_market"
"regular"
"after_hours"
timezone: string

IANA timezone identifier for the market

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

Trading session schedules for the requested date with time_until fields

after_hours: optional object { close, open, time_until_close, time_until_open }

After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

overnight: optional object { close, open, time_until_close, time_until_open }

Overnight session schedule (prior evening through early morning), null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

pre_market: optional object { close, open, time_until_close, time_until_open }

Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

regular: optional object { close, open, time_until_close, time_until_open }

Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

market_session_type: "overnight" or "pre_market" or "regular" or "after_hours"

Session type for market hours

"overnight"
"pre_market"
"regular"
"after_hours"
market_status: object { day_type, is_open, current_session }

Market status information

day_type: "TRADING_DAY" or "EARLY_CLOSE" or "HOLIDAY" or "WEEKEND"

The type of trading day

"TRADING_DAY"
"EARLY_CLOSE"
"HOLIDAY"
"WEEKEND"
is_open: boolean

Whether the market is currently open (real-time)

current_session: optional "overnight" or "pre_market" or "regular" or "after_hours"

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

"overnight"
"pre_market"
"regular"
"after_hours"
market_type: "us_equities" or "us_options"

Market type for market hours calendar endpoint

"us_equities"
"us_options"
session_schedule: object { close, open, time_until_close, time_until_open }

Session schedule with open and close timestamps

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

trading_sessions: object { after_hours, overnight, pre_market, regular }

Trading sessions for a market day with full timestamps

after_hours: optional object { close, open, time_until_close, time_until_open }

After-hours session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

overnight: optional object { close, open, time_until_close, time_until_open }

Overnight session schedule (prior evening through early morning), null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

pre_market: optional object { close, open, time_until_close, time_until_open }

Pre-market session schedule, null if not available When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

regular: optional object { close, open, time_until_close, time_until_open }

Regular trading session schedule, null if holiday/weekend When a null/undefined value is observed, it indicates it does not apply.

close: string

Session close timestamp with timezone offset

open: string

Session open timestamp with timezone offset

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.

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.

V1Instrument Data

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

Get All Instrument Events
$ clst v1:instrument-data get-all-instrument-events
GET/v1/instruments/events
Get Instrument Events
$ clst v1:instrument-data get-instrument-events
GET/v1/instruments/{instrument_id}/events
Get Instrument Fundamentals
$ clst v1:instrument-data get-instrument-fundamentals
GET/v1/instruments/{instrument_id}/fundamentals
Get Instrument Balance Sheet Statements
$ clst v1:instrument-data get-instrument-balance-sheet-statements
GET/v1/instruments/{instrument_id}/balance-sheets
Get Instrument Income Statements
$ clst v1:instrument-data get-instrument-income-statements
GET/v1/instruments/{instrument_id}/income-statements
Get Instrument Analyst Consensus
$ clst v1:instrument-data get-instrument-analyst-consensus
GET/v1/instruments/{instrument_id}/analyst-reporting
Get Instrument Cash Flow Statements
$ clst v1:instrument-data get-instrument-cash-flow-statements
GET/v1/instruments/{instrument_id}/cash-flow-statements
ModelsExpand Collapse
all_events_event_type: "EARNINGS" or "DIVIDEND" or "STOCK_SPLIT" or "IPO"

Event types supported by the all-events endpoint.

"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
analyst_distribution: object { buy, hold, sell, 2 more }

Analyst recommendation distribution

buy: number

Number of buy recommendations

hold: number

Number of hold recommendations

sell: number

Number of sell recommendations

strong_buy: number

Number of strong buy recommendations

strong_sell: number

Number of strong sell recommendations

analyst_rating: "STRONG_BUY" or "BUY" or "HOLD" or 2 more

Analyst rating category

"STRONG_BUY"
"BUY"
"HOLD"
"SELL"
"STRONG_SELL"
fiscal_period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

Fiscal period type for earnings reports

"QUARTERLY"
"ANNUAL"
"TTM"
"BIANNUAL"
instrument_all_events_data: 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.

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

Flat event envelopes for this date.

symbol: string

Symbol associated with the event.

type: "EARNINGS" or "DIVIDEND" or "STOCK_SPLIT" or "IPO"

Event type discriminator.

"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }

Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.

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.

declaration_date: optional string

The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.

dividend_amount: optional string

The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.

frequency: optional string

The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.

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.

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.

earnings_event_data: optional object { date, eps_actual, eps_estimate, 5 more }

Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date when the earnings report was published

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 "BMO" or "AMC"

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

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

ipo_event_data: optional object { actions, announced_at, company, 4 more }

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

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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 object { 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

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”)

instrument_analyst_consensus: object { date, distribution, price_target, rating }

Aggregated analyst consensus metrics

date: string

The date the consensus snapshot was generated

distribution: optional object { buy, hold, sell, 2 more }

Count of individual analyst recommendations by category When a null/undefined value is observed, it indicates that there is no available data.

buy: number

Number of buy recommendations

hold: number

Number of hold recommendations

sell: number

Number of sell recommendations

strong_buy: number

Number of strong buy recommendations

strong_sell: number

Number of strong sell recommendations

price_target: optional object { 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 "STRONG_BUY" or "BUY" or "HOLD" or 2 more

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

"STRONG_BUY"
"BUY"
"HOLD"
"SELL"
"STRONG_SELL"
instrument_balance_sheet_statement: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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

instrument_balance_sheet_statement_list: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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

instrument_cash_flow_statement: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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

instrument_cash_flow_statement_list: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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

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

declaration_date: optional string

The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.

dividend_amount: optional string

The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.

frequency: optional string

The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.

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.

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.

instrument_earnings: object { date, eps_actual, eps_estimate, 5 more }

Represents instrument earnings data

date: string

The date when the earnings report was published

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 "BMO" or "AMC"

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

"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_event_envelope: object { symbol, type, dividend_event_data, 6 more }

Unified envelope for the all-events response.

symbol: string

Symbol associated with the event.

type: "EARNINGS" or "DIVIDEND" or "STOCK_SPLIT" or "IPO"

Event type discriminator.

"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }

Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.

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.

declaration_date: optional string

The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.

dividend_amount: optional string

The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.

frequency: optional string

The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.

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.

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.

earnings_event_data: optional object { date, eps_actual, eps_estimate, 5 more }

Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date when the earnings report was published

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 "BMO" or "AMC"

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

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

ipo_event_data: optional object { actions, announced_at, company, 4 more }

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

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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 object { 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

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”)

instrument_event_ipo_item: object { actions, announced_at, company, 4 more }

IPO event in the all-events date grouping response.

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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.

instrument_events_by_date: object { date, events }

Instrument events for a single date.

date: string

Event date.

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

Flat event envelopes for this date.

symbol: string

Symbol associated with the event.

type: "EARNINGS" or "DIVIDEND" or "STOCK_SPLIT" or "IPO"

Event type discriminator.

"EARNINGS"
"DIVIDEND"
"STOCK_SPLIT"
"IPO"
dividend_event_data: optional object { adjusted_dividend_amount, ex_date, declaration_date, 5 more }

Dividend payload when type is DIVIDEND. When a null/undefined value is observed, it indicates it does not apply.

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.

declaration_date: optional string

The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.

dividend_amount: optional string

The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.

frequency: optional string

The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.

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.

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.

earnings_event_data: optional object { date, eps_actual, eps_estimate, 5 more }

Earnings payload when type is EARNINGS. When a null/undefined value is observed, it indicates it does not apply.

date: string

The date when the earnings report was published

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 "BMO" or "AMC"

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

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

ipo_event_data: optional object { actions, announced_at, company, 4 more }

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

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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 object { 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

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”)

instrument_events_data: object { dividends, earnings, instrument_id, 3 more }

Grouped instrument events by type

dividends: array of InstrumentDividendEvent { adjusted_dividend_amount, ex_date, declaration_date, 5 more }

Dividend distribution events

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.

declaration_date: optional string

The declaration date of the dividend When a null/undefined value is observed, it indicates that there is no available data.

dividend_amount: optional string

The dividend amount per share. When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The dividend yield as a percentage of the stock price. When a null/undefined value is observed, it indicates that there is no available data.

frequency: optional string

The frequency of the dividend payments (e.g., “Quarterly”, “Annual”). When a null/undefined value is observed, it indicates that there is no available data.

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.

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.

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

Earnings announcement events

date: string

The date when the earnings report was published

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 "BMO" or "AMC"

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

"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

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

IPO events

date: string

The date of the IPO

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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

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.

instrument_fundamentals: object { average_volume, beta, description, 12 more }

Supplemental fundamentals and company profile data for an instrument.

average_volume: optional number

The average daily trading volume over the past 30 days When a null/undefined value is observed, it indicates that there is no available data.

beta: optional string

The beta value, measuring the instrument’s volatility relative to the overall market When a null/undefined value is observed, it indicates that there is no available data.

description: optional string

A detailed description of the instrument or company When a null/undefined value is observed, it indicates that there is no available data.

dividend_yield: optional string

The trailing twelve months (TTM) dividend yield When a null/undefined value is observed, it indicates that there is no available data.

earnings_per_share: optional string

The trailing twelve months (TTM) earnings per share When a null/undefined value is observed, it indicates that there is no available data.

fifty_two_week_high: optional string

The highest price over the last 52 weeks When a null/undefined value is observed, it indicates that there is no available data.

fifty_two_week_low: optional string

The lowest price over the last 52 weeks When a null/undefined value is observed, it indicates that there is no available data.

industry: optional string

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

list_date: optional string

The date the instrument was first listed When a null/undefined value is observed, it indicates that there is no available data.

logo_url: optional string

URL to a representative logo image for the instrument or issuer When a null/undefined value is observed, it indicates that there is no available data.

market_cap: optional string

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

previous_close: optional string

The closing price from the previous trading day When a null/undefined value is observed, it indicates that there is no available data.

price_to_earnings: optional string

The price-to-earnings (P/E) ratio for the trailing twelve months (TTM) When a null/undefined value is observed, it indicates that there is no available data.

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.

instrument_income_statement: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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)

instrument_income_statement_list: 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

filing_date: string

The date the financial statement was filed

period: string

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

period_type: "QUARTERLY" or "ANNUAL" or "TTM" or "BIANNUAL"

The type of fiscal period

"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

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)

instrument_ipo_event: object { date, actions, announced_at, 5 more }

Represents an IPO event for an instrument

date: string

The date of the IPO

actions: optional string

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

announced_at: optional string

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

company: optional string

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

exchange: optional string

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

market_cap: optional string

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

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.

instrument_split_event: object { date, denominator, numerator, split_type }

Represents a stock split event for an instrument

date: string

The date of the stock split

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”)

price_target: 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

report_time: "BMO" or "AMC"

Earnings report timing: before market open or after market close

"BMO"
"AMC"

V1Instrument DataMarket Data

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

Get Snapshots
$ clst v1:instrument-data:market-data get-snapshots
GET/v1/market-data/snapshot
Get Daily Aggregate Summaries
Deprecated
$ clst v1:instrument-data:market-data get-daily-summaries
GET/v1/market-data/daily-summary
ModelsExpand Collapse
daily_summary: object { instrument_id, high, low, 6 more }

Daily aggregate (OHLV) summary for a single instrument.

Returned by GET /market-data/daily-summary. Every field except instrument_id and not_applicable is Option:

  • Unresolvable instrument_id → all other 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.

high: optional string

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

low: optional string

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

not_applicable: optional boolean

true when the instrument type has no daily summary by definition (e.g. an index). Distinguishes an intentional N/A from OHLV that is merely not loaded yet. false for instruments that can have a summary.

open: optional string

Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.

open_interest: optional number

Open interest (outstanding contracts). Populated for options only; None for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Display symbol for the security. None for unresolvable IDs. When a null/undefined value is observed, it indicates that there is no available data.

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.

volume: optional number

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

daily_summary_list: array of DailySummary { instrument_id, high, low, 6 more }
instrument_id: string

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

high: optional string

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

low: optional string

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

not_applicable: optional boolean

true when the instrument type has no daily summary by definition (e.g. an index). Distinguishes an intentional N/A from OHLV that is merely not loaded yet. false for instruments that can have a summary.

open: optional string

Opening price for the session. When a null/undefined value is observed, it indicates that there is no available data.

open_interest: optional number

Open interest (outstanding contracts). Populated for options only; None for equities and indices. When a null/undefined value is observed, it indicates that there is no available data.

symbol: optional string

Display symbol for the security. None for unresolvable IDs. When a null/undefined value is observed, it indicates that there is no available data.

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.

volume: optional number

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

market_data_snapshot: object { instrument_id, session, short_sale_restricted, 7 more }

Market data snapshot for a single security.

instrument_id: string

Unique instrument identifier.

session: object { ohlv_applicable, change, change_percent, 7 more }

Session-level pricing and OHLV metrics. Always present; each inner field is independently nullable.

ohlv_applicable: boolean

false only for instrument types with no OHLV by definition (e.g. an index instrument, whose price is a computed level rather than a traded security) — open/high/low/ohlv_date/cumulative_volume are then always absent. true otherwise, even when those fields simply haven’t loaded yet. Always serialized.

change: optional string

Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

change_percent: optional string

Percent change from previous close to the most recent last-sale-eligible trade. Absent under the same conditions as change. When a null/undefined value is observed, it indicates that there is no available data.

cumulative_volume: optional number

Cumulative traded volume for the current session, in shares for equities or contracts for options. Always reflects the current session, even when ohlv_date trails it. Absent when ohlv_applicable is false, or when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.

high: optional string

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

low: optional string

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

ohlv_date: optional string

Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.

open: optional string

Session opening price, from the day’s OHLC bar. Absent when ohlv_applicable is false, or when the bar has not loaded yet. When a null/undefined value is observed, it indicates that there is no available data.

previous_close: optional string

Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.

previous_close_unadjusted: optional string

Unadjusted (raw) previous session close. Present only when a corporate-action adjustment exists for the previous close date; when no adjustment exists, previous_close is the raw close and this field is omitted. When a null/undefined value is observed, it indicates that there is no available data.

short_sale_restricted: boolean

Whether the SEC Rule 201 short-sale price test is currently restricting short sales in this security, from the trading-status feed.

true restricts non-exempt short sales at or below the national best bid. null means we have no answer, either because no trading status has been seen for this security yet or because Rule 201 does not cover this security type. A null is not a statement that short selling is unrestricted, and must not be treated as clear to short.

This is the current market condition, not a statement about whether Clear Street will reject your order. It is also distinct from is_short_prohibited on the instrument endpoints, which is a standing property of the security rather than a live circuit breaker. When a null/undefined value is observed, it indicates that there is no available data.

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.

greeks: optional object { delta, gamma, iv, 5 more }

Theoretical price and Greeks for option instruments. None for equities, and for options whose Greeks have not yet been observed When a null/undefined value is observed, it indicates that there is no available data.

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.

vega: string

Vega per 1.0 vol point.

last_quote: optional object { ask, ask_size, ask_timestamp, 6 more }

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

ask: optional string

Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

ask_size: optional number

Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.

ask_timestamp: optional string

Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

ask_venue: optional string

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

bid: optional string

Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

bid_size: optional number

Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.

bid_timestamp: optional string

Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

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 object { price, size, timestamp, venue }

Most recent last-sale-eligible trade if available. Omitted when the most recent known print is ineligible (e.g. an odd lot or an out-of-sequence report) rather than showing that print’s price. When a null/undefined value is observed, it indicates that there is no available data.

price: string

Most recent last-sale eligible trade price. For index instruments, the current index level.

size: number

Share quantity of the most recent last-sale eligible trade. Always 0 for index instruments, whose level is computed rather than traded.

timestamp: optional string

Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.

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.

market_data_snapshot_list: array of MarketDataSnapshot { instrument_id, session, short_sale_restricted, 7 more }
instrument_id: string

Unique instrument identifier.

session: object { ohlv_applicable, change, change_percent, 7 more }

Session-level pricing and OHLV metrics. Always present; each inner field is independently nullable.

ohlv_applicable: boolean

false only for instrument types with no OHLV by definition (e.g. an index instrument, whose price is a computed level rather than a traded security) — open/high/low/ohlv_date/cumulative_volume are then always absent. true otherwise, even when those fields simply haven’t loaded yet. Always serialized.

change: optional string

Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

change_percent: optional string

Percent change from previous close to the most recent last-sale-eligible trade. Absent under the same conditions as change. When a null/undefined value is observed, it indicates that there is no available data.

cumulative_volume: optional number

Cumulative traded volume for the current session, in shares for equities or contracts for options. Always reflects the current session, even when ohlv_date trails it. Absent when ohlv_applicable is false, or when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.

high: optional string

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

low: optional string

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

ohlv_date: optional string

Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.

open: optional string

Session opening price, from the day’s OHLC bar. Absent when ohlv_applicable is false, or when the bar has not loaded yet. When a null/undefined value is observed, it indicates that there is no available data.

previous_close: optional string

Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.

previous_close_unadjusted: optional string

Unadjusted (raw) previous session close. Present only when a corporate-action adjustment exists for the previous close date; when no adjustment exists, previous_close is the raw close and this field is omitted. When a null/undefined value is observed, it indicates that there is no available data.

short_sale_restricted: boolean

Whether the SEC Rule 201 short-sale price test is currently restricting short sales in this security, from the trading-status feed.

true restricts non-exempt short sales at or below the national best bid. null means we have no answer, either because no trading status has been seen for this security yet or because Rule 201 does not cover this security type. A null is not a statement that short selling is unrestricted, and must not be treated as clear to short.

This is the current market condition, not a statement about whether Clear Street will reject your order. It is also distinct from is_short_prohibited on the instrument endpoints, which is a standing property of the security rather than a live circuit breaker. When a null/undefined value is observed, it indicates that there is no available data.

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.

greeks: optional object { delta, gamma, iv, 5 more }

Theoretical price and Greeks for option instruments. None for equities, and for options whose Greeks have not yet been observed When a null/undefined value is observed, it indicates that there is no available data.

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.

vega: string

Vega per 1.0 vol point.

last_quote: optional object { ask, ask_size, ask_timestamp, 6 more }

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

ask: optional string

Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

ask_size: optional number

Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.

ask_timestamp: optional string

Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

ask_venue: optional string

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

bid: optional string

Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

bid_size: optional number

Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.

bid_timestamp: optional string

Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

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 object { price, size, timestamp, venue }

Most recent last-sale-eligible trade if available. Omitted when the most recent known print is ineligible (e.g. an odd lot or an out-of-sequence report) rather than showing that print’s price. When a null/undefined value is observed, it indicates that there is no available data.

price: string

Most recent last-sale eligible trade price. For index instruments, the current index level.

size: number

Share quantity of the most recent last-sale eligible trade. Always 0 for index instruments, whose level is computed rather than traded.

timestamp: optional string

Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.

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.

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

vega: string

Vega per 1.0 vol point.

snapshot_last_trade: object { price, size, timestamp, venue }

Last-trade fields for a market data snapshot.

For index instruments this carries the current index level — a computed value, not a trade: price is the level and size is always 0 (no contract changes hands).

price: string

Most recent last-sale eligible trade price. For index instruments, the current index level.

size: number

Share quantity of the most recent last-sale eligible trade. Always 0 for index instruments, whose level is computed rather than traded.

timestamp: optional string

Exchange timestamp of the most recent last-sale eligible trade. For index instruments, the time the index level was computed. Absent when the trade carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

venue: optional string

ISO 10383 Market Identifier Code (MIC) of the venue where the most recent last-sale eligible trade took place. Absent when the trade carries no venue; index levels are computed rather than traded and have no venue. When a null/undefined value is observed, it indicates that there is no available data.

snapshot_quote: object { ask, ask_size, ask_timestamp, 6 more }

L1 quote fields for a market data snapshot.

ask: optional string

Current best ask. Absent when no ask is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

ask_size: optional number

Size at the best ask, in shares. When a null/undefined value is observed, it indicates that there is no available data.

ask_timestamp: optional string

Exchange timestamp of the best ask. Absent when the ask side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

ask_venue: optional string

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

bid: optional string

Current best bid. Absent when no bid is available (one-sided quote). When a null/undefined value is observed, it indicates that there is no available data.

bid_size: optional number

Size at the best bid, in shares. When a null/undefined value is observed, it indicates that there is no available data.

bid_timestamp: optional string

Exchange timestamp of the best bid. Absent when the bid side carries no timestamp. When a null/undefined value is observed, it indicates that there is no available data.

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.

snapshot_session: object { ohlv_applicable, change, change_percent, 7 more }

Session-level pricing and OHLV metrics for a market data snapshot. Always present on the snapshot row; every field here is independently nullable except ohlv_applicable.

ohlv_applicable: boolean

false only for instrument types with no OHLV by definition (e.g. an index instrument, whose price is a computed level rather than a traded security) — open/high/low/ohlv_date/cumulative_volume are then always absent. true otherwise, even when those fields simply haven’t loaded yet. Always serialized.

change: optional string

Absolute change from previous close to the most recent last-sale-eligible trade. Absent when either side of the computation is unavailable. When a null/undefined value is observed, it indicates that there is no available data.

change_percent: optional string

Percent change from previous close to the most recent last-sale-eligible trade. Absent under the same conditions as change. When a null/undefined value is observed, it indicates that there is no available data.

cumulative_volume: optional number

Cumulative traded volume for the current session, in shares for equities or contracts for options. Always reflects the current session, even when ohlv_date trails it. Absent when ohlv_applicable is false, or when no trade is available. When a null/undefined value is observed, it indicates that there is no available data.

high: optional string

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

low: optional string

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

ohlv_date: optional string

Session date the open/high/low values represent, US/Eastern. May trail the current session until the upstream feed rolls. When a null/undefined value is observed, it indicates that there is no available data.

open: optional string

Session opening price, from the day’s OHLC bar. Absent when ohlv_applicable is false, or when the bar has not loaded yet. When a null/undefined value is observed, it indicates that there is no available data.

previous_close: optional string

Previous session close price. Corporate-action-adjusted (stock dividends, cash dividends, and forward/reverse splits) when an adjustment exists for the close date; the raw close otherwise. An adjustment can carry the price beyond 2 decimal places. Absent when no previous close is on record (e.g. an instrument’s first session). When a null/undefined value is observed, it indicates that there is no available data.

previous_close_unadjusted: optional string

Unadjusted (raw) previous session close. Present only when a corporate-action adjustment exists for the previous close date; when no adjustment exists, previous_close is the raw close and this field is omitted. When a null/undefined value is observed, it indicates that there is no available data.

V1Instrument DataNews

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

Get News
$ clst v1:instrument-data:news get-news
GET/v1/news
ModelsExpand Collapse
news_instrument: object { instrument_id, name, symbol }

Instrument associated with a news item.

instrument_id: string

Instrument identifier.

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

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: "NEWS" or "PRESS_RELEASE"

Classification of the item.

"NEWS"
"PRESS_RELEASE"
published_at: string

The published date/time of the article in UTC.

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.

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

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: "NEWS" or "PRESS_RELEASE"

Classification of the item.

"NEWS"
"PRESS_RELEASE"
published_at: string

The published date/time of the article in UTC.

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.

news_type: "NEWS" or "PRESS_RELEASE"

News item classification.

"NEWS"
"PRESS_RELEASE"

V1Instruments

Retrieve core details and discovery endpoints for tradable instruments.

Get Instruments
$ clst v1:instruments get-instruments
GET/v1/instruments
Get Instrument By ID
$ clst v1:instruments get-instrument-by-id
GET/v1/instruments/{instrument_id}
Search Instruments
$ clst v1:instruments search-instruments
GET/v1/instruments/search
Get Option Contracts
$ clst v1:instruments get-option-contracts
GET/v1/instruments/options/contracts
ModelsExpand Collapse
contract_type: "CALL" or "PUT"

The type of options contract

"CALL"
"PUT"
exercise_style: "AMERICAN" or "EUROPEAN"

The exercise style of an options contract

"AMERICAN"
"EUROPEAN"
instrument: object { id, country_of_issue, currency, 21 more }

Represents a tradable financial instrument.

id: string

Unique instrument identifier (UUID)

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 "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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

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

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.

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

Unique instrument identifier (UUID)

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 "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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

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

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

Unique instrument identifier (UUID)

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 "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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

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

listing_type: "STANDARD" or "FLEX" or "OTC"

The listing type of an options contract

"STANDARD"
"FLEX"
"OTC"
option_expiry_date: object { date, has_settles_on_close, has_settles_on_open }

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

date: string

The expiration date.

has_settles_on_close: boolean

Whether this date has at least one listed contract that settles at the close (PM settlement) — the standard cycle.

has_settles_on_open: boolean

Whether this date has at least one contract that settles on the opening print (AM settlement) and can still be traded. AM-settled contracts stop trading at the close of the business day before settlement, so this turns false before the expiration date arrives. A date leaves the list once no contract on it can be traded in either settlement cycle.

options_contract: object { id, contract_type, currency, 15 more }

An options contract with options-specific metadata

id: string

Instrument identifier

contract_type: "CALL" or "PUT"

Whether this is a CALL or PUT

"CALL"
"PUT"
currency: string

ISO currency code

exchange: string

MIC code of the primary listing venue

exercise_style: "AMERICAN" or "EUROPEAN"

Exercise style

"AMERICAN"
"EUROPEAN"
expiry: string

Expiration date

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: "STANDARD" or "FLEX" or "OTC"

Listing type

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

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.

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.

options_contract_list: array of OptionsContract { id, contract_type, currency, 15 more }
id: string

Instrument identifier

contract_type: "CALL" or "PUT"

Whether this is a CALL or PUT

"CALL"
"PUT"
currency: string

ISO currency code

exchange: string

MIC code of the primary listing venue

exercise_style: "AMERICAN" or "EUROPEAN"

Exercise style

"AMERICAN"
"EUROPEAN"
expiry: string

Expiration date

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: "STANDARD" or "FLEX" or "OTC"

Listing type

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

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.

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.

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

V1Omni AI

ModelsExpand Collapse
action_button: 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.

prompt: optional object { 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 object { 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.

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

prompt: optional object { 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 object { 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.

dataChart: optional object { 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.

chart_point: object { x, y }

Single chart coordinate.

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

Named data series within a chart.

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

Chart payload content part.

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

Typed chart payload rendered inline in assistant content.

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.

prompt: optional object { 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 object { 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.

dataChart: optional object { 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.

content_part_custom_payload: object { payload }

Escape-hatch custom payload content part.

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

Structured action content part.

action: object { prefill_order } or object { open_chart } or object { open_screener } or object { open_entitlement_consent }

Structured actions that Omni AI can return to clients.

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

PrefillOrder: object { prefill_order }

Prefill an order ticket for user confirmation

prefill_order: PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }

Prefill an order ticket for user confirmation

PrefillNewOrderAction: PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
"NEW"
PrefillCancelOrderAction: PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
"CANCEL"
PrefillModifyOrderAction: PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
"MODIFY"
OpenChart: object { open_chart }

Open a chart for a symbol

open_chart: object { 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.

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: object { 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.

page_size: optional number

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

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.

"omni_account_data_access"
"omni.account_data"

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

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.

content_part_suggested_actions_payload: object { payload }

Suggested actions payload content part.

payload: object { actionButtons, clickedItemIds }

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

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.

prompt: optional object { 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 object { 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.

clickedItemIds: optional array of string

IDs of buttons clicked by the current user.

content_part_text_payload: object { text }

Text content part.

text: string
content_part_thinking_payload: object { thoughts }

Thinking content part shown on dynamic response polling.

thoughts: array of string
data_chart: 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
entitlement_agreement_key: "omni_account_data_access"

Stable entitlement agreement family key.

"omni_account_data_access"
entitlement_code: "omni.account_data"

Stable entitlement code granted by an agreement.

"omni.account_data"
open_chart_action: 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.

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.

"omni_account_data_access"
"omni.account_data"

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

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

page_size: optional number

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

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.

prefill_cancel_order_action: 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)

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.

prefill_cancel_order_request: 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)

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.

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

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.

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 "PRICE" or "BPS"

New trailing offset type (PRICE or BPS)

"PRICE"
"BPS"
prefill_modify_order_request: 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.

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.

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 "PRICE" or "BPS"

New trailing offset type (PRICE or BPS)

"PRICE"
"BPS"
prefill_new_order_action: 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: "MARKET" or "LIMIT" or "STOP" or 3 more

Type of order

"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: "BUY" or "SELL"

Side of the order

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Time in force

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

expires_at: optional string

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

extended_hours: optional boolean

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

instrument_id: optional string

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

item_id: optional string

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

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 "OPEN" or "CLOSE"

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

"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders with DAY time-in-force, and are not supported on OTC common-stock orders.

type: object { type }

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

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

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

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

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

start_at: optional string

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

union_member_2: object { type, end_at, start_at }

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

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

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

start_at: optional string

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

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 "PRICE" or "BPS"

Trailing offset type (PRICE or PERCENT_BPS)

"PRICE"
"BPS"
prefill_new_order_request: object { order_type, quantity, side, 14 more }

Request to submit a new order

order_type: "MARKET" or "LIMIT" or "STOP" or 3 more

Type of order

"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: "BUY" or "SELL"

Side of the order

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Time in force

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

expires_at: optional string

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

extended_hours: optional boolean

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

instrument_id: optional string

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

item_id: optional string

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

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 "OPEN" or "CLOSE"

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

"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders with DAY time-in-force, and are not supported on OTC common-stock orders.

type: object { type }

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

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

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

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

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

start_at: optional string

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

union_member_2: object { type, end_at, start_at }

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

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

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

start_at: optional string

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

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 "PRICE" or "BPS"

Trailing offset type (PRICE or PERCENT_BPS)

"PRICE"
"BPS"
prefill_order_action: 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.

PrefillNewOrderAction: PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
"NEW"
PrefillCancelOrderAction: PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
"CANCEL"
PrefillModifyOrderAction: PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
"MODIFY"
prompt_button_action: object { prompt }

Prompt-style button behavior.

prompt: string

Prompt text to submit as the next user turn.

structured_action: object { prefill_order } or object { open_chart } or object { open_screener } or object { open_entitlement_consent }

Structured actions that Omni AI can return to clients.

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

PrefillOrder: object { prefill_order }

Prefill an order ticket for user confirmation

prefill_order: PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }

Prefill an order ticket for user confirmation

PrefillNewOrderAction: PrefillNewOrderAction { orders }

Create one or more new orders.

action_type: "NEW"
"NEW"
PrefillCancelOrderAction: PrefillCancelOrderAction { orders }

Cancel one or more existing orders.

action_type: "CANCEL"
"CANCEL"
PrefillModifyOrderAction: PrefillModifyOrderAction { orders }

Modify one or more existing orders.

action_type: "MODIFY"
"MODIFY"
OpenChart: object { open_chart }

Open a chart for a symbol

open_chart: object { 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.

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: object { 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.

page_size: optional number

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

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.

"omni_account_data_access"
"omni.account_data"

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

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

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

prompt: optional object { 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 object { 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.

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
$ clst v1:omni-ai:entitlements get-entitlements
GET/v1/omni-ai/entitlements
Create Entitlements
$ clst v1:omni-ai:entitlements create-entitlements
POST/v1/omni-ai/entitlements
Delete Entitlement
$ clst v1:omni-ai:entitlements delete-entitlement
DELETE/v1/omni-ai/entitlements/{entitlement_id}
Get Entitlement Agreements
$ clst v1:omni-ai:entitlements get-entitlement-agreements
GET/v1/omni-ai/entitlement-agreements
ModelsExpand Collapse
delete_entitlement_response: object { entitlement_id, revoked }
entitlement_id: string
revoked: boolean
entitlement_agreement_resource: object { agreement_id, agreement_key, document_content, 4 more }
agreement_id: string
agreement_key: "omni_account_data_access"

Stable entitlement agreement family key.

"omni_account_data_access"
document_content: string
document_sha256: string
entitlement_codes: array of EntitlementCode
"omni.account_data"
title: string
version: number
entitlement_agreement_resource_list: array of EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more }
agreement_id: string
agreement_key: "omni_account_data_access"

Stable entitlement agreement family key.

"omni_account_data_access"
document_content: string
document_sha256: string
entitlement_codes: array of EntitlementCode
"omni.account_data"
title: string
version: number
entitlement_resource: object { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: "omni.account_data"

Stable entitlement code granted by an agreement.

"omni.account_data"
entitlement_id: string
granted_at: string
entitlement_resource_list: array of EntitlementResource { account_id, agreement_id, entitlement_code, 2 more }
account_id: number
agreement_id: string
entitlement_code: "omni.account_data"

Stable entitlement code granted by an agreement.

"omni.account_data"
entitlement_id: string
granted_at: string

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
$ clst v1:omni-ai:messages get-message-by-id
GET/v1/omni-ai/messages/{message_id}
Submit Feedback
$ clst v1:omni-ai:messages submit-feedback
POST/v1/omni-ai/messages/{message_id}/feedback
ModelsExpand Collapse
create_feedback_response: 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.

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
$ clst v1:omni-ai:responses get-response-by-id
GET/v1/omni-ai/responses/{response_id}
Cancel Response
$ clst v1:omni-ai:responses cancel-response
DELETE/v1/omni-ai/responses/{response_id}
ModelsExpand Collapse
cancel_response_payload: object { canceled }
canceled: boolean
error_status: 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
status: "queued" or "running" or "succeeded" or 2 more

Dynamic lifecycle status for a pollable response.

"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: string
user_message_id: string
content: optional object { parts }

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

parts: array of ResponseContentPart
ContentPartText: ContentPartTextPayload { text }

Text content part.

type: "text"
"text"
ContentPartThinking: ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
error: optional object { 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.

response_content: object { parts }

Dynamic response content container. May include thinking parts.

parts: array of ResponseContentPart
ContentPartText: ContentPartTextPayload { text }

Text content part.

type: "text"
"text"
ContentPartThinking: ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
response_content_part: ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or 3 more

Dynamic content part visible on a pollable response.

ContentPartText: ContentPartTextPayload { text }

Text content part.

type: "text"
"text"
ContentPartThinking: ContentPartThinkingPayload { thoughts }

Thinking content part shown on dynamic response polling.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
response_status: "queued" or "running" or "succeeded" or 2 more

Dynamic lifecycle status for a pollable response.

"queued"
"running"
"succeeded"
"failed"
"canceled"

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
$ clst v1:omni-ai:threads get-threads
GET/v1/omni-ai/threads
Get Thread
$ clst v1:omni-ai:threads get-thread-by-id
GET/v1/omni-ai/threads/{thread_id}
Create Thread
$ clst v1:omni-ai:threads create-thread
POST/v1/omni-ai/threads
Get Thread Response
$ clst v1:omni-ai:threads get-thread-response
GET/v1/omni-ai/threads/{thread_id}/response
Get Messages
$ clst v1:omni-ai:threads get-messages
GET/v1/omni-ai/threads/{thread_id}/messages
Create Message
$ clst v1:omni-ai:threads create-message
POST/v1/omni-ai/threads/{thread_id}/messages
ModelsExpand Collapse
context_item: 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.

label: string

Nonblank attachment label for conversation rendering.

captured_at: optional string

Client-reported snapshot time. Omit when unknown.

create_message_response: 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
create_thread_response: 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: object { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
ContentPartText: ContentPartTextPayload { text }

Text content part.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
created_at: string
outcome: "completed" or "errored" or "canceled"

Immutable terminal outcome for a finalized assistant message.

"completed"
"errored"
"canceled"
role: "USER" or "ASSISTANT"

Finalized message role in the public contract.

"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional object { items }

Immutable snapshots attached to this user message. Omitted when none were supplied. When a null/undefined value is observed, it indicates that there is no available data.

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.

label: string

Nonblank attachment label for conversation rendering.

captured_at: optional string

Client-reported snapshot time. Omit when unknown.

error: optional object { 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.

message_content: object { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
ContentPartText: ContentPartTextPayload { text }

Text content part.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
message_content_part: ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or ContentPartChartPayload { payload } or 2 more

Final immutable content part visible on persisted messages.

ContentPartText: ContentPartTextPayload { text }

Text content part.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
message_list: array of Message { id, content, created_at, 6 more }
id: string
content: object { parts }

Finalized immutable message content container. Never includes thinking parts.

parts: array of MessageContentPart
ContentPartText: ContentPartTextPayload { text }

Text content part.

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

Structured action content part.

type: "structured_action"
"structured_action"
ContentPartChart: ContentPartChartPayload { payload }

Chart payload content part.

type: "chart"
"chart"
ContentPartSuggestedActions: ContentPartSuggestedActionsPayload { payload }

Suggested actions payload content part.

type: "suggested_actions"
"suggested_actions"
ContentPartCustom: ContentPartCustomPayload { payload }

Escape-hatch custom payload content part.

type: "custom"
"custom"
created_at: string
outcome: "completed" or "errored" or "canceled"

Immutable terminal outcome for a finalized assistant message.

"completed"
"errored"
"canceled"
role: "USER" or "ASSISTANT"

Finalized message role in the public contract.

"USER"
"ASSISTANT"
seq: number
thread_id: string
context: optional object { items }

Immutable snapshots attached to this user message. Omitted when none were supplied. When a null/undefined value is observed, it indicates that there is no available data.

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.

label: string

Nonblank attachment label for conversation rendering.

captured_at: optional string

Client-reported snapshot time. Omit when unknown.

error: optional object { 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.

message_outcome: "completed" or "errored" or "canceled"

Immutable terminal outcome for a finalized assistant message.

"completed"
"errored"
"canceled"
message_role: "USER" or "ASSISTANT"

Finalized message role in the public contract.

"USER"
"ASSISTANT"
thread: object { id, created_at, title, updated_at }

Thread metadata.

id: string
created_at: string
title: string
updated_at: string
thread_list: array of Thread { id, created_at, title, updated_at }
id: string
created_at: string
title: string
updated_at: string
turn_context: object { items }

Client snapshots attached to one instant-chat user message.

Context is separate from visible message text and does not grant account access. The compact JSON representation must not exceed 64 KiB.

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.

label: string

Nonblank attachment label for conversation rendering.

captured_at: optional string

Client-reported snapshot time. Omit when unknown.

V1Orders

Place, monitor, and manage trading orders.

Get Orders
$ clst v1:orders get-orders
GET/v1/accounts/{account_id}/orders
Get Order By ID
$ clst v1:orders get-order-by-id
GET/v1/accounts/{account_id}/orders/{order_id}
Submit Orders
$ clst v1:orders submit-orders
POST/v1/accounts/{account_id}/orders
Replace Order
$ clst v1:orders replace-order
PATCH/v1/accounts/{account_id}/orders/{order_id}
Cancel Open Order
$ clst v1:orders cancel-open-order
DELETE/v1/accounts/{account_id}/orders/{order_id}
Cancel All Open Orders
$ clst v1:orders cancel-all-open-orders
DELETE/v1/accounts/{account_id}/orders
Get Executions
$ clst v1: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.

order_id: string

Identifier of the order this execution belongs to.

quantity: string

Filled quantity.

side: "BUY" or "SELL"

Side of the fill.

"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

instrument_id: optional string

Unique instrument identifier. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

price: optional string

Fill price. null for multileg fills, whose price lives only at the leg level. When a null/undefined value is observed, it indicates it does not apply.

symbol: optional string

Trading symbol. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Underlying instrument identifier for an option fill. Omitted for a non-derivative fill, when the underlier could not be resolved, or for a multileg fill (per-leg underliers live in legs[]). When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

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

execution_list: array of Execution { id, order_id, quantity, 8 more }
id: string

Unique identifier for this execution report.

order_id: string

Identifier of the order this execution belongs to.

quantity: string

Filled quantity.

side: "BUY" or "SELL"

Side of the fill.

"BUY"
"SELL"
transaction_time: string

Transaction timestamp in nanosecond precision (UTC).

instrument_id: optional string

Unique instrument identifier. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

price: optional string

Fill price. null for multileg fills, whose price lives only at the leg level. When a null/undefined value is observed, it indicates it does not apply.

symbol: optional string

Trading symbol. null when this fill has no single resolvable instrument. When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_id: optional string

Underlying instrument identifier for an option fill. Omitted for a non-derivative fill, when the underlier could not be resolved, or for a multileg fill (per-leg underliers live in legs[]). When a null/undefined value is observed, it indicates it does not apply.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

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

instrument_id_or_symbol: string

Instrument identifier: either an instrument UUID or a symbol (symbol for equities, OSI for options). Non-UUID inputs are resolved server-side.

new_order_request: object { order_type, quantity, side, 13 more }

Request to submit a new order

order_type: "MARKET" or "LIMIT" or "STOP" or 3 more

Type of order

"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: "BUY" or "SELL"

Side of the order

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Time in force

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

expires_at: optional string

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

extended_hours: optional boolean

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

instrument_id: optional string

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

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 "OPEN" or "CLOSE"

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

"OPEN"
"CLOSE"
stop_price: optional string

Stop price (required for STOP and STOP_LIMIT orders)

strategy: optional object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy. One of SOR, VWAP, or TWAP. Defaults to SOR. VWAP and TWAP are supported only on MARKET and LIMIT orders with DAY time-in-force, and are not supported on OTC common-stock orders.

type: object { type }

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

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

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

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

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

start_at: optional string

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

union_member_2: object { type, end_at, start_at }

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

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

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

start_at: optional string

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

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 "PRICE" or "BPS"

Trailing offset type (PRICE or PERCENT_BPS)

"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

client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Type of order (MARKET, LIMIT, etc.)

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: "BUY" or "SELL"

Side of the order (BUY or SELL)

"BUY"
"SELL"
status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Current status of the order

"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: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force instruction

"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)

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.

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.

instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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.

"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 "AWAITING_RELEASE" or "RELEASED"

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.

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

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.

start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

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 "PRICE" or "BPS"

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

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

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.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
order_list: 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

client_order_id: string

Client-provided identifier echoed back.

created_at: string

Timestamp when order was created (UTC)

filled_quantity: string

Cumulative filled quantity

leaves_quantity: string

Remaining unfilled quantity

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Type of order (MARKET, LIMIT, etc.)

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
quantity: string

Total order quantity

side: "BUY" or "SELL"

Side of the order (BUY or SELL)

"BUY"
"SELL"
status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Current status of the order

"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: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force instruction

"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)

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.

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.

instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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.

"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 "AWAITING_RELEASE" or "RELEASED"

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.

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

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.

start_at: optional string

UTC timestamp (RFC 3339) at which execution begins.

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 "PRICE" or "BPS"

Trailing offset type for trailing orders When a null/undefined value is observed, it indicates it does not apply.

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

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.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id. When a null/undefined value is observed, it indicates it does not apply.

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
order_status: "PENDING_NEW" or "QUEUED" or "PENDING_TRIGGER" or 14 more

Order status

"PENDING_NEW"
"QUEUED"
"PENDING_TRIGGER"
"NEW"
"PARTIALLY_FILLED"
"FILLED"
"CANCELED"
"REJECTED"
"EXPIRED"
"PENDING_CANCEL"
"PENDING_REPLACE"
"REPLACED"
"DONE_FOR_DAY"
"STOPPED"
"SUSPENDED"
"CALCULATED"
"OTHER"
order_strategy: object { type } or object { type, end_at, start_at } or object { type, end_at, start_at }

Optional execution strategy controlling how the order is worked in the market. Omit to use standard routing. One of SOR, VWAP, or TWAP.

type: object { type }

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

type: "SOR"

Execution strategy type.

"SOR"
union_member_1: object { type, end_at, start_at }

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

type: "VWAP"

Execution strategy type.

"VWAP"
end_at: optional string

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

start_at: optional string

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

union_member_2: object { type, end_at, start_at }

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

type: "TWAP"

Execution strategy type.

"TWAP"
end_at: optional string

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

start_at: optional string

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

order_type: "MARKET" or "LIMIT" or "STOP" or 4 more

Order type

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
"OTHER"
queue_state: "AWAITING_RELEASE" or "RELEASED"

Parent order queue or hold state.

"AWAITING_RELEASE"
"RELEASED"
replace_order_request: 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 "PRICE" or "BPS"

New trailing offset type (PRICE or BPS)

"PRICE"
"BPS"
request_order_type: "MARKET" or "LIMIT" or "STOP" or 3 more

Strict order-type enum for order submission/replacement requests.

"MARKET"
"LIMIT"
"STOP"
"STOP_LIMIT"
"TRAILING_STOP"
"TRAILING_STOP_LIMIT"
request_position_effect: "OPEN" or "CLOSE"

Client-attested open/close intent for an order.

"OPEN"
"CLOSE"
request_time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 4 more

Strict time-in-force enum for order submission requests.

"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).

"BUY"
"SELL"
time_in_force: "DAY" or "GOOD_TILL_CANCEL" or "IMMEDIATE_OR_CANCEL" or 5 more

Time in force

"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
"OTHER"
trailing_offset_type: "PRICE" or "BPS"

Trailing offset type for trailing stop orders.

"PRICE"
"BPS"

V1Positions

View positions and manage position instructions.

Get Positions
$ clst v1:positions get-positions
GET/v1/accounts/{account_id}/positions
Close Positions
$ clst v1:positions close-positions
DELETE/v1/accounts/{account_id}/positions
Close Position
$ clst v1:positions close-position
DELETE/v1/accounts/{account_id}/positions/{instrument_id}
Get Position Instructions
$ clst v1:positions get-position-instructions
GET/v1/accounts/{account_id}/positions/instructions
Submit Position Instructions
$ clst v1:positions submit-position-instructions
POST/v1/accounts/{account_id}/positions/instructions
Cancel Position Instruction
$ clst v1:positions 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

available_quantity: string

The quantity of a position that is free to be operated on.

instrument_id: string

Unique instrument identifier

instrument_type: "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of security

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
market_value: string

The current market value of the position

position_type: "LONG" or "SHORT"

The type of position

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

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.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id When a null/undefined value is observed, it indicates it does not apply.

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

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

account_id: number

Account the instruction belongs to.

client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: "EXERCISE" or "DO_NOT_EXERCISE" or "CONTRARY_EXERCISE"

The action this instruction requests.

"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

quantity: string

Number of contracts included in the instruction.

status: "SENT" or "ACCEPTED" or "REJECTED" or 4 more

Current lifecycle status.

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

rejection: optional object { description, domain, metadata, reason }

Machine-readable counterpart to rejection_reason: a stable reason code, human-readable description, and params, present on every rejected row — on submit, cancel, get, and list alike. Branch on rejection.reason and read rejection.description instead of the top-level rejection_reason. When a null/undefined value is observed, it indicates it does not apply.

description: string

Human-readable explanation of the rejection. Duplicates the top-level rejection_reason; prefer this field.

domain: string

Namespacing domain of the reason code — com.clearstreet.oems.exercise for reasons OEMS validates, com.clearstreet.oems.clearing for clearing-owned reasons.

metadata: map[string]

Reason-specific parameters as a string→string map. Which keys are present depends on reason:

  • INSUFFICIENT_POSITION → available, 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.

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.

position_instruction_list: array of PositionInstruction { id, account_id, client_instruction_id, 11 more }
id: string

Server-assigned id. Used as the path parameter on cancel.

account_id: number

Account the instruction belongs to.

client_instruction_id: string

Caller-supplied idempotency key echoed from the submit request; the server-assigned fallback when none was supplied.

instruction_type: "EXERCISE" or "DO_NOT_EXERCISE" or "CONTRARY_EXERCISE"

The action this instruction requests.

"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
instrument_id: string

Identifier of the options contract this instruction acts on.

quantity: string

Number of contracts included in the instruction.

status: "SENT" or "ACCEPTED" or "REJECTED" or 4 more

Current lifecycle status.

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

rejection: optional object { description, domain, metadata, reason }

Machine-readable counterpart to rejection_reason: a stable reason code, human-readable description, and params, present on every rejected row — on submit, cancel, get, and list alike. Branch on rejection.reason and read rejection.description instead of the top-level rejection_reason. When a null/undefined value is observed, it indicates it does not apply.

description: string

Human-readable explanation of the rejection. Duplicates the top-level rejection_reason; prefer this field.

domain: string

Namespacing domain of the reason code — com.clearstreet.oems.exercise for reasons OEMS validates, com.clearstreet.oems.clearing for clearing-owned reasons.

metadata: map[string]

Reason-specific parameters as a string→string map. Which keys are present depends on reason:

  • INSUFFICIENT_POSITION → available, 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.

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.

position_instruction_rejection: object { description, domain, metadata, reason }

Machine-readable detail for a rejected position instruction.

Present on every rejected row, across the full lifecycle — submit, cancel, get, and list. Branch on reason for programmatic handling and template your own copy from metadata, or show description directly.

description: string

Human-readable explanation of the rejection. Duplicates the top-level rejection_reason; prefer this field.

domain: string

Namespacing domain of the reason code — com.clearstreet.oems.exercise for reasons OEMS validates, com.clearstreet.oems.clearing for clearing-owned reasons.

metadata: map[string]

Reason-specific parameters as a string→string map. Which keys are present depends on reason:

  • INSUFFICIENT_POSITION → available, 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.

position_instruction_status: "SENT" or "ACCEPTED" or "REJECTED" or 4 more

Lifecycle status of a position instruction.

  • SENT: accepted and submitted to the clearing venue.
  • ACCEPTED: terminal — accepted by the clearing venue.
  • REJECTED: terminal rejection; rejection_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.
"SENT"
"ACCEPTED"
"REJECTED"
"CANCEL_REQUESTED"
"CANCELLED"
"CANCEL_FAILED"
"UNKNOWN"
position_instruction_type: "EXERCISE" or "DO_NOT_EXERCISE" or "CONTRARY_EXERCISE"

The action to take against an options position.

"EXERCISE"
"DO_NOT_EXERCISE"
"CONTRARY_EXERCISE"
position_list: array of Position { account_id, available_quantity, instrument_id, 17 more }
account_id: number

The account this position belongs to

available_quantity: string

The quantity of a position that is free to be operated on.

instrument_id: string

Unique instrument identifier

instrument_type: "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of security

"COMMON_STOCK"
"INDEX"
"OPTION"
"CASH"
market_value: string

The current market value of the position

position_type: "LONG" or "SHORT"

The type of position

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

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.

underlying_instrument_type: optional "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

Type of the underlying instrument, alongside underlying_instrument_id When a null/undefined value is observed, it indicates it does not apply.

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

position_type: "LONG" or "SHORT"

Position type classification

"LONG"
"SHORT"

V1Private Markets

Browse private-market offerings and their indicative terms. Access requires the account holder to hold an accreditation attestation.

Get SPV
$ clst v1:private-markets get-spv-by-id
GET/v1/private-markets/spvs/{spv_id}
List every live IOI for the caller's account-holder entity.
$ clst v1:private-markets get-iois
GET/v1/private-markets/iois
Create an IOI for a visible upcoming offering.
$ clst v1:private-markets create-ioi
POST/v1/private-markets/iois
Update an IOI's notional, accepting the current NDA revision when required.
$ clst v1:private-markets update-ioi
PATCH/v1/private-markets/iois/{ioi_id}
Withdraw a live IOI. Repeating a withdrawal returns 404.
$ clst v1:private-markets delete-ioi
DELETE/v1/private-markets/iois/{ioi_id}
Get Company
$ clst v1:private-markets get-company-by-id
GET/v1/private-markets/companies/{company_id}

V1Private MarketsCompanies

ModelsExpand Collapse
company_category: object { name, slug }

A company category.

name: string

Display name.

slug: string

Stable lowercase category slug.

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

company_customer: object { name, logo_url }

A named company customer.

name: string

Customer name.

logo_url: optional string

Customer logo, when supplied.

company_detail: object { id, name, profile, 6 more }

A company’s identity and its complete published profile.

id: string

Stable company identifier.

name: string

Display name.

profile: object { 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.

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: "COMPANY_PROFILE" or "MARKET_RESEARCH" or "INTERVIEW" or 4 more

Typed document kind.

"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"
relation: "SUBJECT" or "CONNECTED"

Relationship to this company.

"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional object { 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.

headquarters: optional object { 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: "YEAR" or "QUARTER" or "MONTH" or "POINT_IN_TIME"

Observation cadence.

"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: "ANNUALIZED_REVENUE" or "REVENUE_GROWTH" or "VALUATION" or 12 more

Canonical metric key.

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

unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Value unit.

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

value: string

Exact decimal value, serialized as a string.

value_type: "HISTORICAL" or "ESTIMATED"

Historical or estimated classification.

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

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.

"FOUNDER"
"CEO"
"OTHER"
social: optional array of CompanySocialLink { type, url }

Social/profile links.

Link type.

"WEBSITE"
"LINKEDIN"
"X"
"FACEBOOK"
"OTHER"

Link URL.

tagline: optional string

Short durable positioning line used with the company name.

profile_schema_version: number

Profile schema version discriminator.

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.

company_document_preview: object { description, image_url }

Optional document card preview.

description: optional string

Preview description.

image_url: optional string

Preview image URL.

company_document_relation: "SUBJECT" or "CONNECTED"

How a document relates to the company.

"SUBJECT"
"CONNECTED"
company_document_resource: object { document_type, relation, title, 4 more }

A company-level research or source document.

document_type: "COMPANY_PROFILE" or "MARKET_RESEARCH" or "INTERVIEW" or 4 more

Typed document kind.

"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"
relation: "SUBJECT" or "CONNECTED"

Relationship to this company.

"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional object { 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.

company_document_type: "COMPANY_PROFILE" or "MARKET_RESEARCH" or "INTERVIEW" or 4 more

Company document kind.

"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"
company_headquarters: 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.

company_metric_point: object { observed_at, value, value_type, 3 more }

One metric observation.

observed_at: string

Observation time.

value: string

Exact decimal value, serialized as a string.

value_type: "HISTORICAL" or "ESTIMATED"

Historical or estimated classification.

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

company_metric_series: object { frequency, label, metric_key, 5 more }

A historical or estimated company metric series.

frequency: "YEAR" or "QUARTER" or "MONTH" or "POINT_IN_TIME"

Observation cadence.

"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: "ANNUALIZED_REVENUE" or "REVENUE_GROWTH" or "VALUATION" or 12 more

Canonical metric key.

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

unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Value unit.

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

value: string

Exact decimal value, serialized as a string.

value_type: "HISTORICAL" or "ESTIMATED"

Historical or estimated classification.

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

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

title: string

Section heading.

citation_ids: optional array of string

Profile-local citation ids supporting this block.

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

"FOUNDER"
"CEO"
"OTHER"
company_person_role: "FOUNDER" or "CEO" or "OTHER"

A key person’s relationship to the company.

"FOUNDER"
"CEO"
"OTHER"
company_profile_resource: 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.

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: "COMPANY_PROFILE" or "MARKET_RESEARCH" or "INTERVIEW" or 4 more

Typed document kind.

"COMPANY_PROFILE"
"MARKET_RESEARCH"
"INTERVIEW"
"DEAL_SHEET"
"PRESS_RELEASE"
"NEWS"
"OTHER"
relation: "SUBJECT" or "CONNECTED"

Relationship to this company.

"SUBJECT"
"CONNECTED"
title: string

Display title.

url: string

Document URL.

external_id: optional string

Optional source identifier retained for reconciliation.

preview: optional object { 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.

headquarters: optional object { 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: "YEAR" or "QUARTER" or "MONTH" or "POINT_IN_TIME"

Observation cadence.

"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
label: string

Display label.

metric_key: "ANNUALIZED_REVENUE" or "REVENUE_GROWTH" or "VALUATION" or 12 more

Canonical metric key.

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

unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Value unit.

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

value: string

Exact decimal value, serialized as a string.

value_type: "HISTORICAL" or "ESTIMATED"

Historical or estimated classification.

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

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.

"FOUNDER"
"CEO"
"OTHER"
social: optional array of CompanySocialLink { type, url }

Social/profile links.

Link type.

"WEBSITE"
"LINKEDIN"
"X"
"FACEBOOK"
"OTHER"

Link URL.

tagline: optional string

Short durable positioning line used with the company name.

A company social/profile link.

Link type.

"WEBSITE"
"LINKEDIN"
"X"
"FACEBOOK"
"OTHER"

Link URL.

company_social_type: "WEBSITE" or "LINKEDIN" or "X" or 2 more

Kind of company social/profile link.

"WEBSITE"
"LINKEDIN"
"X"
"FACEBOOK"
"OTHER"
metric_frequency: "YEAR" or "QUARTER" or "MONTH" or "POINT_IN_TIME"

Observation cadence for a metric series.

"YEAR"
"QUARTER"
"MONTH"
"POINT_IN_TIME"
metric_key: "ANNUALIZED_REVENUE" or "REVENUE_GROWTH" or "VALUATION" or 12 more

Canonical company metric key.

"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
ioi_company_resource: object { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
ioi_listing_resource: IoiResource { id, account_id, created_at, 5 more }

IOI list item with the campaign identity needed to render it.

company: object { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: object { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
ioi_listing_resource_list: array of IoiListingResource { company, offering }
company: object { id, name }

Company identity embedded in an IOI list item.

id: string
name: string
offering: object { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
ioi_offering_resource: object { id, headline }

Offering identity embedded in an IOI list item.

id: string
headline: string
ioi_resource: object { id, account_id, created_at, 5 more }

One live indication of interest.

id: string
account_id: number
created_at: string
currency: "USD"

Terms currency.

"USD"
notional_amount: string
offering_id: string
updated_at: string
nda_acceptance: optional object { accepted_at, agreement_id, version }

Most recent NDA acceptance linked to this IOI, if any.

accepted_at: string
agreement_id: string
version: number
nda_acceptance_resource: 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
$ clst v1:private-markets:offerings get-offerings
GET/v1/private-markets/offerings
Get Offering
$ clst v1:private-markets:offerings get-offering-by-id
GET/v1/private-markets/offerings/{offering_id}
ModelsExpand Collapse
currency: "USD"

Terms currency.

"USD"
metric_unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Unit for a resolved highlight metric.

"USD"
"PERCENT"
"COUNT"
"RANK"
metric_value_type: "HISTORICAL" or "ESTIMATED"

Whether a resolved highlight value is observed or estimated.

"HISTORICAL"
"ESTIMATED"
nda_agreement_resource: 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.

agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

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.

version: number

Strictly increasing SPV-local agreement version.

offering_card: object { id, class, company, 11 more }

One offering as it appears in a list: its derived class, indicative terms, a company identity summary, and any attached SPV.

id: string

Stable public identifier; IOIs and history hang off it.

class: "UPCOMING" or "ACTIVE"

Derived classification.

"UPCOMING"
"ACTIVE"
company: object { id, name, short_description, 3 more }

Owning company identity.

id: string

Stable company identifier.

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: "USD"

Terms currency.

"USD"
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 "PRE_MONEY" or "POST_MONEY" or "REFERENCE" or "IMPLIED"

Meaning of the indicative valuation range.

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

minimum_ioi_amount: optional string

Minimum indication-of-interest amount.

spv: optional object { id, name, status, 5 more }

Attached SPV identity and lifecycle, once one exists.

id: string

Stable SPV identifier.

name: string

Legal/display name.

status: "DRAFT" or "OPEN" or "CLOSED" or 2 more

Lifecycle state.

"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional object { 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.

agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

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.

version: number

Strictly increasing SPV-local agreement version.

share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

offering_card_list: array of OfferingCard { id, class, company, 11 more }
id: string

Stable public identifier; IOIs and history hang off it.

class: "UPCOMING" or "ACTIVE"

Derived classification.

"UPCOMING"
"ACTIVE"
company: object { id, name, short_description, 3 more }

Owning company identity.

id: string

Stable company identifier.

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: "USD"

Terms currency.

"USD"
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 "PRE_MONEY" or "POST_MONEY" or "REFERENCE" or "IMPLIED"

Meaning of the indicative valuation range.

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

minimum_ioi_amount: optional string

Minimum indication-of-interest amount.

spv: optional object { id, name, status, 5 more }

Attached SPV identity and lifecycle, once one exists.

id: string

Stable SPV identifier.

name: string

Legal/display name.

status: "DRAFT" or "OPEN" or "CLOSED" or 2 more

Lifecycle state.

"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional object { 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.

agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

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.

version: number

Strictly increasing SPV-local agreement version.

share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

offering_class: "UPCOMING" or "ACTIVE"

Derived offering classification.

"UPCOMING"
"ACTIVE"
offering_company: object { id, name, short_description, 3 more }

Company identity carried on an offering card/detail.

id: string

Stable company identifier.

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.

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

display_order: number

Stable display position.

document_type: "TEARSHEET" or "KEY_TERMS" or "RISK_FACTORS" or 2 more

Document kind.

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

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

unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Value unit.

"USD"
"PERCENT"
"COUNT"
"RANK"
observed_at: optional string

Observation time of the latest value.

value: optional string

Latest observed value, when the series carries any points.

value_type: optional "HISTORICAL" or "ESTIMATED"

Whether the latest value is historical or estimated.

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

display_order: number

Stable display position.

name: string

Display name.

role: "LEAD_INVESTOR" or "CO_LEAD" or "FUND_MANAGER" or "PLACEMENT_AGENT"

Presentation role.

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

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

display_order: number

Stable display position.

document_type: "TEARSHEET" or "KEY_TERMS" or "RISK_FACTORS" or 2 more

Document kind.

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

source: optional string

Source publisher/provider.

source_url: optional string

Source URL.

url: optional string

Externally reachable URL, when the document lives at one.

offering_document_type: "TEARSHEET" or "KEY_TERMS" or "RISK_FACTORS" or 2 more

Kind of campaign document.

"TEARSHEET"
"KEY_TERMS"
"RISK_FACTORS"
"PPM"
"OTHER"
offering_highlight: 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).

unit: "USD" or "PERCENT" or "COUNT" or "RANK"

Value unit.

"USD"
"PERCENT"
"COUNT"
"RANK"
observed_at: optional string

Observation time of the latest value.

value: optional string

Latest observed value, when the series carries any points.

value_type: optional "HISTORICAL" or "ESTIMATED"

Whether the latest value is historical or estimated.

"HISTORICAL"
"ESTIMATED"
offering_key_risk: 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.

offering_participant_resource: object { id, display_order, name, role }

An offering participant’s display data.

id: string

Stable identifier.

display_order: number

Stable display position.

name: string

Display name.

role: "LEAD_INVESTOR" or "CO_LEAD" or "FUND_MANAGER" or "PLACEMENT_AGENT"

Presentation role.

"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
offering_spv: object { id, name, status, 5 more }

The attached SPV’s identity and lifecycle. Exact economics surface once the SPV opens; an upcoming offering’s indicative ranges describe the terms until then.

id: string

Stable SPV identifier.

name: string

Legal/display name.

status: "DRAFT" or "OPEN" or "CLOSED" or 2 more

Lifecycle state.

"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
custodian_name: optional string

Custodian.

manager_name: optional string

SPV manager.

nda_agreement: optional object { 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.

agreement_id: string

Stable agreement identifier submitted with an IOI acceptance.

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.

version: number

Strictly increasing SPV-local agreement version.

share_class: optional string

Underlying share class, when specified.

structure_description: optional string

Plain-text vehicle structure.

participant_role: "LEAD_INVESTOR" or "CO_LEAD" or "FUND_MANAGER" or "PLACEMENT_AGENT"

Presentation role of an offering participant.

"LEAD_INVESTOR"
"CO_LEAD"
"FUND_MANAGER"
"PLACEMENT_AGENT"
spv_status: "DRAFT" or "OPEN" or "CLOSED" or 2 more

SPV lifecycle state.

"DRAFT"
"OPEN"
"CLOSED"
"LIQUIDATING"
"DISSOLVED"
valuation_basis: "PRE_MONEY" or "POST_MONEY" or "REFERENCE" or "IMPLIED"

Meaning of an indicative valuation range or an SPV valuation.

"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"

V1Private MarketsSpvs

ModelsExpand Collapse
charged_by: "FUND_MANAGER" or "CLEAR_STREET" or "THIRD_PARTY"

Party charging a fee.

"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
fee_frequency: "ONE_TIME" or "ANNUAL" or "AT_EXIT" or "PASS_THROUGH"

Fee timing/cadence.

"ONE_TIME"
"ANNUAL"
"AT_EXIT"
"PASS_THROUGH"
fee_type: "MANAGEMENT" or "CARRY" or "PLACEMENT" or 2 more

Kind of SPV fee.

"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
spv_detail: object { id, company_id, currency, 20 more }

An OPEN SPV’s identity, exact economics, and typed fee schedule.

id: string

Stable SPV identifier.

company_id: string

Company whose shares the vehicle holds.

currency: "USD"

Terms currency.

"USD"
name: string

Legal/display name.

status: "DRAFT" or "OPEN" or "CLOSED" or 2 more

Lifecycle state.

"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: "FUND_MANAGER" or "CLEAR_STREET" or "THIRD_PARTY"

Charging party.

"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
currency: "USD"

Terms currency.

"USD"
description: string

Plain-text fee disclosure.

fee_type: "MANAGEMENT" or "CARRY" or "PLACEMENT" or 2 more

Fee kind.

"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
frequency: "ONE_TIME" or "ANNUAL" or "AT_EXIT" or "PASS_THROUGH"

Timing/cadence.

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

manager_name: optional string

SPV manager.

minimum_investment_amount: optional string

Minimum investment amount.

opened_at: optional string

Time the vehicle opened.

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 "PRE_MONEY" or "POST_MONEY" or "REFERENCE" or "IMPLIED"

Meaning of valuation.

"PRE_MONEY"
"POST_MONEY"
"REFERENCE"
"IMPLIED"
spv_fee_term_resource: object { charged_by, currency, description, 6 more }

One typed SPV fee term.

charged_by: "FUND_MANAGER" or "CLEAR_STREET" or "THIRD_PARTY"

Charging party.

"FUND_MANAGER"
"CLEAR_STREET"
"THIRD_PARTY"
currency: "USD"

Terms currency.

"USD"
description: string

Plain-text fee disclosure.

fee_type: "MANAGEMENT" or "CARRY" or "PLACEMENT" or 2 more

Fee kind.

"MANAGEMENT"
"CARRY"
"PLACEMENT"
"ADMINISTRATIVE"
"OTHER"
frequency: "ONE_TIME" or "ANNUAL" or "AT_EXIT" or "PASS_THROUGH"

Timing/cadence.

"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
$ clst v1:screener search-screener
POST/v1/screener
Get Screeners
$ clst v1:screener get-screeners
GET/v1/saved-screeners
Get Screener By ID
$ clst v1:screener get-screener-by-id
GET/v1/saved-screeners/{screener_id}
Create Screener
$ clst v1:screener create-screener
POST/v1/saved-screeners
Replace Screener
Deprecated
$ clst v1:screener replace-screener
PUT/v1/saved-screeners/{screener_id}
Patch Screener
$ clst v1:screener patch-screener
PATCH/v1/saved-screeners/{screener_id}
Delete Screener
$ clst v1:screener delete-screener
DELETE/v1/saved-screeners/{screener_id}
Get Screener Catalog
$ clst v1:screener 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: 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".

fields: object { 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: object { 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.

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: object { api_name_composition, axes, defaults, 3 more }

Request-side semantics for turning the data into a valid call.

api_name_composition: string

Requests and response field objects use the same reference shape: base name plus at most one of period / lookback; default_response_fields (the POST default column set when columns is omitted) carries api_names, each decoding via suffixes.

axes: string

At most one of period / lookback; the empty combination selects the field’s current or most recent value.

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

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

field_kind: 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: object { 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.

field_lookback: "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Historical lookback window for price/change fields.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
field_period: "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Reporting period for financial data fields.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
field_ref: object { name, lookback, period, value_type }

A reference to a screener field.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
field_type: "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of a screener field value.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
filter_op_spec: object { name, args }

Operator specification with optional behavioral arguments.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

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

"LEFT_INCLUSIVE"
"RIGHT_INCLUSIVE"
"LEFT_EXCLUSIVE"
"RIGHT_EXCLUSIVE"
"CASE_INSENSITIVE"
filter_operator: "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.

"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"
filter_value: object { value, variable }

A filter value: either a literal or a variable reference.

value: optional number or string
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
modifier: object { args, name }

Arithmetic modifier applied to a variable value.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
modifier_arg: 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.

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.

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

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

modifier_op: "ADD" or "SUBTRACT"

Modifier operation applied to a variable.

"ADD"
"SUBTRACT"
operator_arg: "LEFT_INCLUSIVE" or "RIGHT_INCLUSIVE" or "LEFT_EXCLUSIVE" or 2 more

Argument that modifies operator behavior.

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

screener_column: object { field, name, value, type }

A single column in the screener search response.

field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: 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.

screener_entry: 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: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

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

"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
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"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 "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
screener_entry_list: array of ScreenerEntry { id, created_at, filters, 5 more }
id: string
created_at: string
filters: array of SearchFilter { left, op, right }
left: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

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

"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
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"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 "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
sorts: optional array of SortSpec { field, direction }
field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
screener_filter: 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

screener_row: array of ScreenerColumn { field, name, value, type }

A single row of screener columns for one instrument.

field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: 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.

screener_row_list: array of ScreenerRow { field, name, value, type }
field: object { name, lookback, period, value_type }

Field reference (same shape as filter/sort field references)

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
name: string

Human-readable display name for this field

value: number or string
union_member_0: number
union_member_1: 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.

search_filter: object { left, op, right }

A single filter condition.

When op and right are both absent, the filter is “unenabled”: it persists a left field reference without applying any predicate. Unenabled filters are skipped during search execution but still round-trip through save/load so callers can preserve draft state.

left: object { name, lookback, period, value_type }

The field to filter on.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
op: optional object { name, args }

The operator and optional arguments. Omit together with right for an unenabled filter.

name: "LESS_THAN" or "LESS_OR_EQUAL" or "GREATER_THAN" or 11 more

The operator to apply.

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

"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
union_member_0: number
union_member_1: string
variable: optional object { name, lookback, modifier, period }

A variable reference.

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
sort_spec: object { field, direction }

A sort specification pairing a field with a direction.

field: object { name, lookback, period, value_type }

The field to sort by.

name: string

The field name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period (e.g. quarter or TTM).

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
value_type: optional "DECIMAL" or "INTEGER" or "STRING" or 2 more

The data type of the field value. Present only in responses.

"DECIMAL"
"INTEGER"
"STRING"
"ANALYST_RATING"
"DATE"
direction: optional "ASC" or "DESC"

Sort direction (defaults to DESC).

"ASC"
"DESC"
variable: object { name, lookback, modifier, period }

A variable reference (field or built-in like today).

name: string

The variable name.

lookback: optional "ONE_DAY" or "ONE_WEEK" or "ONE_MONTH" or 4 more

Optional historical lookback window.

"ONE_DAY"
"ONE_WEEK"
"ONE_MONTH"
"THREE_MONTHS"
"SIX_MONTHS"
"YEAR_TO_DATE"
"ONE_YEAR"
modifier: optional object { args, name }

Optional arithmetic modifier.

args: array of number or string
union_member_0: number
union_member_1: string
name: "ADD" or "SUBTRACT"

The modifier operation.

"ADD"
"SUBTRACT"
period: optional "QUARTER" or "TRAILING_TWELVE_MONTHS" or "ANNUAL"

Optional reporting period.

"QUARTER"
"TRAILING_TWELVE_MONTHS"
"ANNUAL"
variable_def: 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).

V1Watchlist

Create and manage watchlists.

Get Watchlists
$ clst v1:watchlist get-watchlists
GET/v1/watchlists
Get Watchlist By ID
$ clst v1:watchlist get-watchlist-by-id
GET/v1/watchlists/{watchlist_id}
Create Watchlist
$ clst v1:watchlist create-watchlist
POST/v1/watchlists
Delete Watchlist
$ clst v1:watchlist delete-watchlist
DELETE/v1/watchlists/{watchlist_id}
Add Watchlist Item
$ clst v1:watchlist add-watchlist-item
POST/v1/watchlists/{watchlist_id}/items
Delete Watchlist Item
$ clst v1:watchlist delete-watchlist-item
DELETE/v1/watchlists/{watchlist_id}/items/{item_id}
ModelsExpand Collapse
add_watchlist_item_data: object { item_id }

Response data for adding a watchlist item

item_id: string

ID of the created item

watchlist_detail: object { id, created_at, items, name }

Detailed watchlist with all items

id: string

The unique identifier for the watchlist.

created_at: string

The timestamp when the watchlist was created.

items: array of WatchlistItemEntry { id, added_at, added_price, instrument }

Items in the watchlist

id: string

Item ID

added_at: string

When the item was added

added_price: optional string

Price when the item was added When a null/undefined value is observed, it indicates that there is no available data.

instrument: optional object { id, country_of_issue, currency, 21 more }

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

id: string

Unique instrument identifier (UUID)

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 "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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

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

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.

watchlist_entry: object { id, created_at, name }

Represents a user watchlist.

id: string

The unique identifier for the watchlist.

created_at: string

The timestamp when the watchlist was created.

name: string

The user-provided watchlist name.

watchlist_entry_list: array of WatchlistEntry { id, created_at, name }
id: string

The unique identifier for the watchlist.

created_at: string

The timestamp when the watchlist was created.

name: string

The user-provided watchlist name.

watchlist_item_entry: object { id, added_at, added_price, instrument }

A single item in a watchlist

id: string

Item ID

added_at: string

When the item was added

added_price: optional string

Price when the item was added When a null/undefined value is observed, it indicates that there is no available data.

instrument: optional object { id, country_of_issue, currency, 21 more }

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

id: string

Unique instrument identifier (UUID)

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 "COMMON_STOCK" or "INDEX" or "OPTION" or "CASH"

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

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

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.