Skip to content
Start Trading

Omni AI

ModelsExpand Collapse
class ActionButton: …

Button metadata shared by chart and suggested-actions payloads.

button_id: str

Stable button identifier within the content part.

label: str

User-visible label.

item_id: Optional[str]

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

formatuuid
prompt: Optional[PromptButtonAction]

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

prompt: str

Prompt text to submit as the next user turn.

structured_action: Optional[StructuredActionButtonAction]

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

action_id: Optional[str]

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

formatuuid
class ChartPayload: …

Typed chart payload rendered inline in assistant content.

chart_id: str

Stable chart identifier scoped to the content part.

clicked: bool

Whether the current user clicked this chart.

action_buttons: Optional[List[ActionButton]]

Buttons associated with this chart.

button_id: str

Stable button identifier within the content part.

label: str

User-visible label.

item_id: Optional[str]

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

formatuuid
prompt: Optional[PromptButtonAction]

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

prompt: str

Prompt text to submit as the next user turn.

structured_action: Optional[StructuredActionButtonAction]

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

action_id: Optional[str]

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

formatuuid
data_chart: Optional[DataChart]

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

series: Optional[List[ChartSeries]]
name: str
points: Optional[List[ChartPoint]]
x: str
y: float
item_id: Optional[str]

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

formatuuid
class ChartPoint: …

Single chart coordinate.

x: str
y: float
class ChartSeries: …

Named data series within a chart.

name: str
points: Optional[List[ChartPoint]]
x: str
y: float
class ContentPartChartPayload: …

Chart payload content part.

payload: ChartPayload

Typed chart payload rendered inline in assistant content.

chart_id: str

Stable chart identifier scoped to the content part.

clicked: bool

Whether the current user clicked this chart.

action_buttons: Optional[List[ActionButton]]

Buttons associated with this chart.

button_id: str

Stable button identifier within the content part.

label: str

User-visible label.

item_id: Optional[str]

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

formatuuid
prompt: Optional[PromptButtonAction]

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

prompt: str

Prompt text to submit as the next user turn.

structured_action: Optional[StructuredActionButtonAction]

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

action_id: Optional[str]

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

formatuuid
data_chart: Optional[DataChart]

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

series: Optional[List[ChartSeries]]
name: str
points: Optional[List[ChartPoint]]
x: str
y: float
item_id: Optional[str]

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

formatuuid
class ContentPartCustomPayload: …

Escape-hatch custom payload content part.

payload: object
class ContentPartStructuredActionPayload: …

Structured action content part.

Structured actions that Omni AI can return to clients.

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

One of the following:
class PrefillOrder: …

Prefill an order ticket for user confirmation

prefill_order: PrefillOrderAction

Prefill an order ticket for user confirmation

One of the following:
class PrefillNewOrderAction: …

Create one or more new orders.

action_type: Literal["NEW"]
class PrefillCancelOrderAction: …

Cancel one or more existing orders.

action_type: Literal["CANCEL"]
class PrefillModifyOrderAction: …

Modify one or more existing orders.

action_type: Literal["MODIFY"]
class OpenChart: …

Open a chart for a symbol

open_chart: OpenChartAction

Open a chart for a symbol

symbol: str

Trading symbol to chart

extras: Optional[object]

Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
timeframe: Optional[str]

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

class OpenScreener: …

Open a stock screener with filters

open_screener: OpenScreenerAction

Open a stock screener with filters

filters: List[ScreenerFilter]

Filter criteria for the screener

field: str

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

operator: str

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

value: object

Filter value

columns: Optional[List[str]]

Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
page_size: Optional[int]

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

formatint32
sort_by: Optional[str]

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

sort_direction: Optional[str]

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

class OpenEntitlementConsent: …

Open entitlement consent flow

Open entitlement consent flow

Stable entitlement agreement family key.

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

formatuuid
action_id: str
clicked: bool

Whether the current user clicked this action.

clicked_item_ids: Optional[List[str]]

IDs of nested items clicked by the current user.

item_id: Optional[str]

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

formatuuid
class ContentPartSuggestedActionsPayload: …

Suggested actions payload content part.

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

action_buttons: Optional[List[ActionButton]]

Ordered message-level buttons.

button_id: str

Stable button identifier within the content part.

label: str

User-visible label.

item_id: Optional[str]

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

formatuuid
prompt: Optional[PromptButtonAction]

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

prompt: str

Prompt text to submit as the next user turn.

structured_action: Optional[StructuredActionButtonAction]

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

action_id: Optional[str]

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

formatuuid
clicked_item_ids: Optional[List[str]]

IDs of buttons clicked by the current user.

class ContentPartTextPayload: …

Text content part.

text: str
class ContentPartThinkingPayload: …

Thinking content part shown on dynamic response polling.

thoughts: List[str]
class DataChart: …

Chart represented by explicit data series.

series: Optional[List[ChartSeries]]
name: str
points: Optional[List[ChartPoint]]
x: str
y: float
Literal["omni_account_data_access"]

Stable entitlement agreement family key.

Literal["omni.account_data"]

Stable entitlement code granted by an agreement.

class OpenChartAction: …

Action to open a chart for a symbol.

symbol: str

Trading symbol to chart

extras: Optional[object]

Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
timeframe: Optional[str]

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

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

Stable entitlement agreement family key.

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

formatuuid
class OpenScreenerAction: …

Action to open a stock screener with filters.

filters: List[ScreenerFilter]

Filter criteria for the screener

field: str

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

operator: str

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

value: object

Filter value

columns: Optional[List[str]]

Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
page_size: Optional[int]

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

formatint32
sort_by: Optional[str]

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

sort_direction: Optional[str]

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

class PrefillCancelOrderAction: …

Cancel-order prefill action.

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

account_id: int

Account ID (from path parameter)

formatint64
order_id: str

Order ID to cancel (from path parameter)

item_id: Optional[str]

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

formatuuid
class PrefillCancelOrderRequest: …

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

Account ID (from path parameter)

formatint64
order_id: str

Order ID to cancel (from path parameter)

item_id: Optional[str]

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

formatuuid
class PrefillModifyOrderAction: …

Modify-order prefill action.

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

account_id: Optional[int]

Account ID that owns the order.

formatint64
item_id: Optional[str]

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

formatuuid
limit_offset: Optional[str]

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

limit_price: Optional[str]

New limit price for the order

order_id: Optional[str]

Order ID to modify.

quantity: Optional[str]

New quantity for the order

stop_price: Optional[str]

New stop price for the order

trailing_offset: Optional[str]

New trailing offset for trailing orders

trailing_offset_type: Optional[TrailingOffsetType]

New trailing offset type (PRICE or BPS)

One of the following:
"PRICE"
"BPS"
class PrefillModifyOrderRequest: …

Request to replace (modify) an existing order

At least one field must be provided.

account_id: Optional[int]

Account ID that owns the order.

formatint64
item_id: Optional[str]

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

formatuuid
limit_offset: Optional[str]

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

limit_price: Optional[str]

New limit price for the order

order_id: Optional[str]

Order ID to modify.

quantity: Optional[str]

New quantity for the order

stop_price: Optional[str]

New stop price for the order

trailing_offset: Optional[str]

New trailing offset for trailing orders

trailing_offset_type: Optional[TrailingOffsetType]

New trailing offset type (PRICE or BPS)

One of the following:
"PRICE"
"BPS"
class PrefillNewOrderAction: …

New-order prefill action.

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

order_type: RequestOrderType

Type of order

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

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

side: Side

Side of the order

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

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
id: Optional[str]

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

maxLength64
expires_at: Optional[datetime]

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

formatdate-time
extended_hours: Optional[bool]

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

instrument_id: Optional[InstrumentIDOrSymbol]

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

minLength1
item_id: Optional[str]

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

formatuuid
limit_offset: Optional[str]

Limit offset for trailing stop-limit orders (signed)

limit_price: Optional[str]

Limit price (required for LIMIT and STOP_LIMIT orders)

position_intent: Optional[RequestPositionEffect]

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

One of the following:
"OPEN"
"CLOSE"
stop_price: Optional[str]

Stop price (required for STOP and STOP_LIMIT orders)

strategy: Optional[OrderStrategy]

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

One of the following:
class Type: …

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

type: Literal["SOR"]

Execution strategy type.

class UnionMember1: …

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

type: Literal["VWAP"]

Execution strategy type.

end_at: Optional[datetime]

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

formatdate-time
start_at: Optional[datetime]

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

formatdate-time
class UnionMember2: …

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

type: Literal["TWAP"]

Execution strategy type.

end_at: Optional[datetime]

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

formatdate-time
start_at: Optional[datetime]

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

formatdate-time
symbol: Optional[str]

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[str]

Trailing offset amount (required for trailing orders)

trailing_offset_type: Optional[TrailingOffsetType]

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
"PRICE"
"BPS"
class PrefillNewOrderRequest: …

Request to submit a new order

order_type: RequestOrderType

Type of order

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

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

side: Side

Side of the order

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

Time in force

One of the following:
"DAY"
"GOOD_TILL_CANCEL"
"IMMEDIATE_OR_CANCEL"
"FILL_OR_KILL"
"GOOD_TILL_DATE"
"AT_OPEN"
"AT_CLOSE"
id: Optional[str]

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

maxLength64
expires_at: Optional[datetime]

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

formatdate-time
extended_hours: Optional[bool]

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

instrument_id: Optional[InstrumentIDOrSymbol]

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

minLength1
item_id: Optional[str]

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

formatuuid
limit_offset: Optional[str]

Limit offset for trailing stop-limit orders (signed)

limit_price: Optional[str]

Limit price (required for LIMIT and STOP_LIMIT orders)

position_intent: Optional[RequestPositionEffect]

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

One of the following:
"OPEN"
"CLOSE"
stop_price: Optional[str]

Stop price (required for STOP and STOP_LIMIT orders)

strategy: Optional[OrderStrategy]

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

One of the following:
class Type: …

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

type: Literal["SOR"]

Execution strategy type.

class UnionMember1: …

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

type: Literal["VWAP"]

Execution strategy type.

end_at: Optional[datetime]

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

formatdate-time
start_at: Optional[datetime]

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

formatdate-time
class UnionMember2: …

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

type: Literal["TWAP"]

Execution strategy type.

end_at: Optional[datetime]

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

formatdate-time
start_at: Optional[datetime]

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

formatdate-time
symbol: Optional[str]

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[str]

Trailing offset amount (required for trailing orders)

trailing_offset_type: Optional[TrailingOffsetType]

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
"PRICE"
"BPS"
Union[PrefillNewOrderAction, PrefillCancelOrderAction, PrefillModifyOrderAction]

Action to prefill order details for user confirmation.

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

One of the following:
class PrefillNewOrderAction: …

Create one or more new orders.

action_type: Literal["NEW"]
class PrefillCancelOrderAction: …

Cancel one or more existing orders.

action_type: Literal["CANCEL"]
class PrefillModifyOrderAction: …

Modify one or more existing orders.

action_type: Literal["MODIFY"]
class PromptButtonAction: …

Prompt-style button behavior.

prompt: str

Prompt text to submit as the next user turn.

Structured actions that Omni AI can return to clients.

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

One of the following:
class PrefillOrder: …

Prefill an order ticket for user confirmation

prefill_order: PrefillOrderAction

Prefill an order ticket for user confirmation

One of the following:
class PrefillNewOrderAction: …

Create one or more new orders.

action_type: Literal["NEW"]
class PrefillCancelOrderAction: …

Cancel one or more existing orders.

action_type: Literal["CANCEL"]
class PrefillModifyOrderAction: …

Modify one or more existing orders.

action_type: Literal["MODIFY"]
class OpenChart: …

Open a chart for a symbol

open_chart: OpenChartAction

Open a chart for a symbol

symbol: str

Trading symbol to chart

extras: Optional[object]

Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
timeframe: Optional[str]

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

class OpenScreener: …

Open a stock screener with filters

open_screener: OpenScreenerAction

Open a stock screener with filters

filters: List[ScreenerFilter]

Filter criteria for the screener

field: str

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

operator: str

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

value: object

Filter value

columns: Optional[List[str]]

Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.

item_id: Optional[str]

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

formatuuid
page_size: Optional[int]

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

formatint32
sort_by: Optional[str]

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

sort_direction: Optional[str]

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

class OpenEntitlementConsent: …

Open entitlement consent flow

Open entitlement consent flow

Stable entitlement agreement family key.

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

formatuuid
class StructuredActionButtonAction: …

Structured-action button behavior.

action_id: Optional[str]

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

formatuuid
class SuggestedActionsPayload: …

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

action_buttons: Optional[List[ActionButton]]

Ordered message-level buttons.

button_id: str

Stable button identifier within the content part.

label: str

User-visible label.

item_id: Optional[str]

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

formatuuid
prompt: Optional[PromptButtonAction]

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

prompt: str

Prompt text to submit as the next user turn.

structured_action: Optional[StructuredActionButtonAction]

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

action_id: Optional[str]

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

formatuuid
clicked_item_ids: Optional[List[str]]

IDs of buttons clicked by the current user.

Omni 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
v1.omni_ai.entitlements.get_entitlements(EntitlementGetEntitlementsParams**kwargs) -> EntitlementGetEntitlementsResponse
GET/v1/omni-ai/entitlements
Create Entitlements
v1.omni_ai.entitlements.create_entitlements(EntitlementCreateEntitlementsParams**kwargs) -> EntitlementCreateEntitlementsResponse
POST/v1/omni-ai/entitlements
Delete Entitlement
v1.omni_ai.entitlements.delete_entitlement(strentitlement_id) -> EntitlementDeleteEntitlementResponse
DELETE/v1/omni-ai/entitlements/{entitlement_id}
Get Entitlement Agreements
v1.omni_ai.entitlements.get_entitlement_agreements() -> EntitlementGetEntitlementAgreementsResponse
GET/v1/omni-ai/entitlement-agreements
ModelsExpand Collapse
class DeleteEntitlementResponse: …
entitlement_id: str
revoked: bool
class EntitlementAgreementResource: …
agreement_id: str

Stable entitlement agreement family key.

document_content: str
document_sha256: str
entitlement_codes: List[EntitlementCode]
title: str
version: int
agreement_id: str

Stable entitlement agreement family key.

document_content: str
document_sha256: str
entitlement_codes: List[EntitlementCode]
title: str
version: int
class EntitlementResource: …
account_id: int
agreement_id: str
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: str
granted_at: str
account_id: int
agreement_id: str
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: str
granted_at: str
class EntitlementGetEntitlementsResponse: …
account_id: int
agreement_id: str
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: str
granted_at: str
class EntitlementCreateEntitlementsResponse: …
account_id: int
agreement_id: str
entitlement_code: EntitlementCode

Stable entitlement code granted by an agreement.

entitlement_id: str
granted_at: str
class EntitlementDeleteEntitlementResponse: …
entitlement_id: str
revoked: bool
class EntitlementGetEntitlementAgreementsResponse: …
agreement_id: str

Stable entitlement agreement family key.

document_content: str
document_sha256: str
entitlement_codes: List[EntitlementCode]
title: str
version: int

Omni 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
v1.omni_ai.messages.get_message_by_id(strmessage_id, MessageGetMessageByIDParams**kwargs) -> MessageGetMessageByIDResponse
GET/v1/omni-ai/messages/{message_id}
Submit Feedback
v1.omni_ai.messages.submit_feedback(strmessage_id, MessageSubmitFeedbackParams**kwargs) -> MessageSubmitFeedbackResponse
POST/v1/omni-ai/messages/{message_id}/feedback
ModelsExpand Collapse
class CreateFeedbackResponse: …
created_at: str
feedback_id: Optional[str]

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

formatuuid
class MessageGetMessageByIDResponse: …
data: Message

Final immutable message.

id: str

Finalized immutable message content container. Never includes thinking parts.

parts: List[MessageContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
created_at: datetime

Immutable terminal outcome for a finalized assistant message.

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

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: int
thread_id: str
context: Optional[TurnContext]

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: List[ContextItem]

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

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

class MessageSubmitFeedbackResponse: …
created_at: str
feedback_id: Optional[str]

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

formatuuid

Omni 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
v1.omni_ai.responses.get_response_by_id(strresponse_id, ResponseGetResponseByIDParams**kwargs) -> ResponseGetResponseByIDResponse
GET/v1/omni-ai/responses/{response_id}
Cancel Response
v1.omni_ai.responses.cancel_response(strresponse_id, ResponseCancelResponseParams**kwargs) -> ResponseCancelResponseResponse
DELETE/v1/omni-ai/responses/{response_id}
ModelsExpand Collapse
class CancelResponsePayload: …
canceled: bool
class ErrorStatus: …

Shared sanitized error payload.

code: str
message: str
details: Optional[object]

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

class Response: …

Dynamic pollable response.

id: str

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: str
user_message_id: str
content: Optional[ResponseContent]

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

parts: List[ResponseContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartThinking: …

Thinking content part shown on dynamic response polling.

type: Literal["thinking"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

output_message_id: Optional[str]

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

formatuuid
class ResponseContent: …

Dynamic response content container. May include thinking parts.

parts: List[ResponseContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartThinking: …

Thinking content part shown on dynamic response polling.

type: Literal["thinking"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
Union[ContentPartText, ContentPartThinking, ContentPartStructuredAction, 3 more]

Dynamic content part visible on a pollable response.

One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartThinking: …

Thinking content part shown on dynamic response polling.

type: Literal["thinking"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
Literal["queued", "running", "succeeded", 2 more]

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
class ResponseGetResponseByIDResponse: …
data: Response

Dynamic pollable response.

id: str

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: str
user_message_id: str
content: Optional[ResponseContent]

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

parts: List[ResponseContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartThinking: …

Thinking content part shown on dynamic response polling.

type: Literal["thinking"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

output_message_id: Optional[str]

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

formatuuid
class ResponseCancelResponseResponse: …
canceled: bool

Omni 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
v1.omni_ai.threads.get_threads(ThreadGetThreadsParams**kwargs) -> ThreadGetThreadsResponse
GET/v1/omni-ai/threads
Get Thread
v1.omni_ai.threads.get_thread_by_id(strthread_id, ThreadGetThreadByIDParams**kwargs) -> ThreadGetThreadByIDResponse
GET/v1/omni-ai/threads/{thread_id}
Create Thread
v1.omni_ai.threads.create_thread(ThreadCreateThreadParams**kwargs) -> ThreadCreateThreadResponse
POST/v1/omni-ai/threads
Get Thread Response
v1.omni_ai.threads.get_thread_response(strthread_id, ThreadGetThreadResponseParams**kwargs) -> ThreadGetThreadResponseResponse
GET/v1/omni-ai/threads/{thread_id}/response
Get Messages
v1.omni_ai.threads.get_messages(strthread_id, ThreadGetMessagesParams**kwargs) -> ThreadGetMessagesResponse
GET/v1/omni-ai/threads/{thread_id}/messages
Create Message
v1.omni_ai.threads.create_message(strthread_id, ThreadCreateMessageParams**kwargs) -> ThreadCreateMessageResponse
POST/v1/omni-ai/threads/{thread_id}/messages
ModelsExpand Collapse
class ContextItem: …

A snapshot of the widget the user asks about.

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
class CreateMessageResponse: …

Response payload for continuing a thread with a new message.

response_id: str
thread_id: str
user_message_id: str
class CreateThreadResponse: …

Response payload for thread creation.

response_id: str
thread_id: str
user_message_id: str
class Message: …

Final immutable message.

id: str

Finalized immutable message content container. Never includes thinking parts.

parts: List[MessageContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
created_at: datetime

Immutable terminal outcome for a finalized assistant message.

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

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: int
thread_id: str
context: Optional[TurnContext]

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: List[ContextItem]

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

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

class MessageContent: …

Finalized immutable message content container. Never includes thinking parts.

parts: List[MessageContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
Union[ContentPartText, ContentPartStructuredAction, ContentPartChart, 2 more]

Final immutable content part visible on persisted messages.

One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
List[Message]
id: str

Finalized immutable message content container. Never includes thinking parts.

parts: List[MessageContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
created_at: datetime

Immutable terminal outcome for a finalized assistant message.

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

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: int
thread_id: str
context: Optional[TurnContext]

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: List[ContextItem]

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

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

Literal["completed", "errored", "canceled"]

Immutable terminal outcome for a finalized assistant message.

One of the following:
"completed"
"errored"
"canceled"
Literal["USER", "ASSISTANT"]

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
class Thread: …

Thread metadata.

id: str
created_at: datetime
title: str
updated_at: datetime
List[Thread]
id: str
created_at: datetime
title: str
updated_at: datetime
class TurnContext: …

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: List[ContextItem]

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

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
class ThreadGetThreadsResponse: …
id: str
created_at: datetime
title: str
updated_at: datetime
class ThreadGetThreadByIDResponse: …
data: Thread

Thread metadata.

id: str
created_at: datetime
title: str
updated_at: datetime
class ThreadCreateThreadResponse: …

Response payload for thread creation.

response_id: str
thread_id: str
user_message_id: str
class ThreadGetThreadResponseResponse: …
data: Optional[Response]

Dynamic pollable response.

id: str

Dynamic lifecycle status for a pollable response.

One of the following:
"queued"
"running"
"succeeded"
"failed"
"canceled"
thread_id: str
user_message_id: str
content: Optional[ResponseContent]

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

parts: List[ResponseContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartThinking: …

Thinking content part shown on dynamic response polling.

type: Literal["thinking"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

output_message_id: Optional[str]

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

formatuuid
class ThreadGetMessagesResponse: …
id: str

Finalized immutable message content container. Never includes thinking parts.

parts: List[MessageContentPart]
One of the following:
class ContentPartText: …

Text content part.

type: Literal["text"]
class ContentPartStructuredAction: …

Structured action content part.

type: Literal["structured_action"]
class ContentPartChart: …

Chart payload content part.

type: Literal["chart"]
class ContentPartSuggestedActions: …

Suggested actions payload content part.

type: Literal["suggested_actions"]
class ContentPartCustom: …

Escape-hatch custom payload content part.

type: Literal["custom"]
created_at: datetime

Immutable terminal outcome for a finalized assistant message.

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

Finalized message role in the public contract.

One of the following:
"USER"
"ASSISTANT"
seq: int
thread_id: str
context: Optional[TurnContext]

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: List[ContextItem]

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

data: Dict[str, object]

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

kind: str

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

minLength1
label: str

Nonblank attachment label for conversation rendering.

minLength1
captured_at: Optional[datetime]

Client-reported snapshot time. Omit when unknown.

formatdate-time
error: Optional[ErrorStatus]

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

code: str
message: str
details: Optional[object]

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

class ThreadCreateMessageResponse: …

Response payload for continuing a thread with a new message.

response_id: str
thread_id: str
user_message_id: str