Omni AI
ModelsExpand Collapse
ActionButton object { buttonId, label, itemId, 2 more }
Button metadata shared by chart and suggested-actions payloads.
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.
ChartPayload object { chartId, clicked, actionButtons, 2 more }
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
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.
ContentPartChartPayload object { payload }
Chart payload content part.
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
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.
ContentPartStructuredActionPayload object { action, action_id, clicked, 2 more }
Structured action content part.
Structured actions that Omni AI can return to clients.
These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.
PrefillOrder object { prefill_order }
OpenChart object { open_chart }
Open a chart for a symbol
Open a chart for a symbol
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener object { open_screener }
Open a stock screener with filters
Open a stock screener with filters
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
OpenEntitlementConsent object { open_entitlement_consent }
Open entitlement consent flow
open_entitlement_consent: OpenEntitlementConsentAction { account_ids, agreement_key, entitlement_codes, 2 more }
ContentPartSuggestedActionsPayload object { payload }
Suggested actions payload content part.
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
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.
OpenChartAction object { symbol, extras, item_id, timeframe }
Action to open a chart for a symbol.
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreenerAction object { filters, columns, item_id, 3 more }
Action to open a stock screener with filters.
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
PrefillModifyOrderAction object { orders }
Modify-order prefill action.
PrefillModifyOrderRequest object { account_id, item_id, limit_offset, 6 more }
PrefillNewOrderAction object { orders }
New-order prefill action.
Orders to prefill using the same shape accepted by the orders API.
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: optional string
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: optional string
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours: optional boolean
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
Instrument ID (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.
Optional execution strategy. One of SOR, VWAP, TWAP, or DMA. Defaults
to SOR, the only strategy OTC common-stock orders support. VWAP and TWAP
are supported only on MARKET and LIMIT orders, and DMA only on LIMIT
orders; all three require DAY time-in-force. VWAP, TWAP, and DMA do
not support extended_hours.
object { type, end_at, start_at }
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.
PrefillNewOrderRequest object { order_type, quantity, side, 14 more }
Request to submit a new order
quantity: string
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: optional string
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: optional string
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
extended_hours: optional boolean
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
Instrument ID (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.
Optional execution strategy. One of SOR, VWAP, TWAP, or DMA. Defaults
to SOR, the only strategy OTC common-stock orders support. VWAP and TWAP
are supported only on MARKET and LIMIT orders, and DMA only on LIMIT
orders; all three require DAY time-in-force. VWAP, TWAP, and DMA do
not support extended_hours.
object { type, end_at, start_at }
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.
PrefillOrderAction = PrefillNewOrderAction { orders } or PrefillCancelOrderAction { orders } or PrefillModifyOrderAction { orders }
Action to prefill order details for user confirmation.
The user must review and authorize the order before submission to the trading API. This action provides parsed order data that can be used to prefill an order ticket UI or submitted directly via the orders API after user confirmation.
StructuredAction = object { prefill_order } or object { open_chart } or object { open_screener } or object { open_entitlement_consent }
Structured actions that Omni AI can return to clients.
These actions provide machine-readable instructions for the client to execute, such as prefilling an order ticket, opening a chart, or navigating to a route.
PrefillOrder object { prefill_order }
OpenChart object { open_chart }
Open a chart for a symbol
Open a chart for a symbol
extras: optional unknown
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener object { open_screener }
Open a stock screener with filters
Open a stock screener with filters
columns: optional array of string
Optional field/column selection for screener results. When a null/undefined value is observed, it indicates it does not apply.
item_id: optional string
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
page_size: optional number
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
OpenEntitlementConsent object { open_entitlement_consent }
Open entitlement consent flow
open_entitlement_consent: OpenEntitlementConsentAction { account_ids, agreement_key, entitlement_codes, 2 more }
SuggestedActionsPayload object { actionButtons, clickedItemIds }
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
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.
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.
Create Entitlements
Get Entitlement Status
Opt Out Of Entitlements
Get Entitlement Agreements
ModelsExpand Collapse
EntitlementAgreementResourceList = array of EntitlementAgreementResource { agreement_id, agreement_key, document_content, 4 more }
EntitlementResourceList = array of EntitlementResource { account_id, agreement_id, entitlement_code, 2 more }
EntitlementStatusResourceList = array of EntitlementStatusResource { account_id, enabled, entitlement_code }
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
Submit Feedback
ModelsExpand Collapse
Final immutable message.
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
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.
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
Cancel Response
ModelsExpand Collapse
Response object { id, status, thread_id, 4 more }
Dynamic pollable response.
When a null/undefined value is observed, it indicates that there is no available data.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
ResponseContent object { parts }
Dynamic response content container. May include thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
ResponseContentPart = ContentPartTextPayload { text } or ContentPartThinkingPayload { thoughts } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or 3 more
Dynamic content part visible on a pollable response.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
Dynamic pollable response.
When a null/undefined value is observed, it indicates that there is no available data.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
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
Get Thread
Create Thread
Get Thread Response
Get Messages
Create Message
ModelsExpand Collapse
Message object { id, content, created_at, 6 more }
Final immutable message.
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
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.
MessageContent object { parts }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
MessageContentPart = ContentPartTextPayload { text } or ContentPartStructuredActionPayload { action, action_id, clicked, 2 more } or ContentPartChartPayload { payload } or 2 more
Final immutable content part visible on persisted messages.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
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.
TurnContext object { items }
Client snapshots attached to one instant-chat user message.
Context is separate from visible message text and does not grant account access. The compact JSON representation must not exceed 64 KiB.
Dynamic pollable response.
When a null/undefined value is observed, it indicates that there is no available data.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
Finalized immutable message content container. Never includes thinking parts.
ContentPartStructuredAction = ContentPartStructuredActionPayload { action, action_id, clicked, 2 more }
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.