Omni AI
ModelsExpand Collapse
class ActionButton: …
Button metadata shared by chart and suggested-actions payloads.
class ChartPayload: …
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
class ContentPartChartPayload: …
Chart payload content part.
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
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.
class PrefillOrder: …
class OpenChart: …
Open a chart for a symbol
Open a chart for a symbol
extras: Optional[object]
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
class OpenScreener: …
Open a stock screener with filters
Open a stock screener with filters
Filter criteria for the screener.
op: Optional[FilterOpSpec]
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.
page_size: Optional[int]
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
class ContentPartSuggestedActionsPayload: …
Suggested actions payload content part.
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
class OpenChartAction: …
Action to open a chart for a symbol.
extras: Optional[object]
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
class OpenScreenerAction: …
Action to open a stock screener with filters.
filters, sorts and columns use the same shapes as the
POST /saved-screeners request body, so a client can save the screener
the user is looking at by forwarding them unchanged.
Filter criteria for the screener.
op: Optional[FilterOpSpec]
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.
page_size: Optional[int]
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
class PrefillModifyOrderAction: …
Modify-order prefill action.
class PrefillModifyOrderRequest: …
class PrefillNewOrderAction: …
New-order prefill action.
Orders to prefill using the same shape accepted by the orders API.
quantity: str
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: Optional[str]
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: Optional[datetime]
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
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.
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.
strategy: Optional[OrderStrategy]
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.
class UnionMember1: …
class PrefillNewOrderRequest: …
Request to submit a new order
quantity: str
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
id: Optional[str]
Optional client-provided unique ID (idempotency). Required to be unique per account.
expires_at: Optional[datetime]
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
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.
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.
strategy: Optional[OrderStrategy]
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.
class UnionMember1: …
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.
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.
class PrefillOrder: …
class OpenChart: …
Open a chart for a symbol
Open a chart for a symbol
extras: Optional[object]
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
class OpenScreener: …
Open a stock screener with filters
Open a stock screener with filters
Filter criteria for the screener.
op: Optional[FilterOpSpec]
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.
page_size: Optional[int]
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
class SuggestedActionsPayload: …
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
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
Create Entitlements
Delete Entitlement
Get Entitlement Status
Opt Out Of Entitlements
Get Entitlement Agreements
ModelsExpand Collapse
List[EntitlementResource]
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
class MessageGetMessageByIDResponse: …
Final immutable message.
Immutable terminal outcome for a finalized assistant message.
steered: the message is complete as written; the user sent a newer
message before it finished. merged: the message has no content, and a
later answer covers its turn. Hide merged messages.
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.
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
class Response: …
Dynamic pollable response.
Dynamic lifecycle status for a pollable response.
succeeded, failed, canceled, steered and merged are terminal.
steered: the response ended as written because the user sent a newer
message, and a later response in the thread continues the work. merged:
the response ended without text, and a later response answers its message.
Treat an unknown status as terminal.
content: Optional[ResponseContent]
continued_in_response_id: Optional[str]
The response that continues the work of this response. Present only when status is
steered or merged. Follow it to keep showing the answer. To stop that work, cancel it,
or cancel this response: the server follows the link.
When a null/undefined value is observed, it indicates it does not apply.
error: Optional[ErrorStatus]
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.
output_message_seq: Optional[int]
The seq the output message has in the thread’s message list. Present once the output
message exists. Omitted while the response is queued. Use it to place a response that is
still in progress among the listed messages.
When a null/undefined value is observed, it indicates it does not apply.
user_message_id: Optional[str]
The user message this response answers. Omitted when the response presents a background result, such as a subagent’s report, and answers no user message; its output message then appears in the thread without a preceding request. When a null/undefined value is observed, it indicates it does not apply.
user_message_seq: Optional[int]
The seq the user message has in the thread’s message list. Present exactly when
user_message_id is present. Use it to place the sent prompt among the listed messages
before a list refresh includes it.
When a null/undefined value is observed, it indicates it does not apply.
Literal["queued", "running", "succeeded", 4 more]
Dynamic lifecycle status for a pollable response.
succeeded, failed, canceled, steered and merged are terminal.
steered: the response ended as written because the user sent a newer
message, and a later response in the thread continues the work. merged:
the response ended without text, and a later response answers its message.
Treat an unknown status as terminal.
class ResponseGetResponseByIDResponse: …
Dynamic pollable response.
Dynamic lifecycle status for a pollable response.
succeeded, failed, canceled, steered and merged are terminal.
steered: the response ended as written because the user sent a newer
message, and a later response in the thread continues the work. merged:
the response ended without text, and a later response answers its message.
Treat an unknown status as terminal.
content: Optional[ResponseContent]
continued_in_response_id: Optional[str]
The response that continues the work of this response. Present only when status is
steered or merged. Follow it to keep showing the answer. To stop that work, cancel it,
or cancel this response: the server follows the link.
When a null/undefined value is observed, it indicates it does not apply.
error: Optional[ErrorStatus]
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.
output_message_seq: Optional[int]
The seq the output message has in the thread’s message list. Present once the output
message exists. Omitted while the response is queued. Use it to place a response that is
still in progress among the listed messages.
When a null/undefined value is observed, it indicates it does not apply.
user_message_id: Optional[str]
The user message this response answers. Omitted when the response presents a background result, such as a subagent’s report, and answers no user message; its output message then appears in the thread without a preceding request. When a null/undefined value is observed, it indicates it does not apply.
user_message_seq: Optional[int]
The seq the user message has in the thread’s message list. Present exactly when
user_message_id is present. Use it to place the sent prompt among the listed messages
before a list refresh includes it.
When a null/undefined value is observed, it indicates it does not apply.
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
class Message: …
Final immutable message.
Immutable terminal outcome for a finalized assistant message.
steered: the message is complete as written; the user sent a newer
message before it finished. merged: the message has no content, and a
later answer covers its turn. Hide merged messages.
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.
List[Message]
Immutable terminal outcome for a finalized assistant message.
steered: the message is complete as written; the user sent a newer
message before it finished. merged: the message has no content, and a
later answer covers its turn. Hide merged messages.
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.
Literal["completed", "errored", "canceled", 2 more]
Immutable terminal outcome for a finalized assistant message.
steered: the message is complete as written; the user sent a newer
message before it finished. merged: the message has no content, and a
later answer covers its turn. Hide merged messages.
List[Thread]
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.
class ThreadGetThreadResponseResponse: …
data: Optional[Response]
Dynamic pollable response.
Dynamic lifecycle status for a pollable response.
succeeded, failed, canceled, steered and merged are terminal.
steered: the response ended as written because the user sent a newer
message, and a later response in the thread continues the work. merged:
the response ended without text, and a later response answers its message.
Treat an unknown status as terminal.
content: Optional[ResponseContent]
continued_in_response_id: Optional[str]
The response that continues the work of this response. Present only when status is
steered or merged. Follow it to keep showing the answer. To stop that work, cancel it,
or cancel this response: the server follows the link.
When a null/undefined value is observed, it indicates it does not apply.
error: Optional[ErrorStatus]
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.
output_message_seq: Optional[int]
The seq the output message has in the thread’s message list. Present once the output
message exists. Omitted while the response is queued. Use it to place a response that is
still in progress among the listed messages.
When a null/undefined value is observed, it indicates it does not apply.
user_message_id: Optional[str]
The user message this response answers. Omitted when the response presents a background result, such as a subagent’s report, and answers no user message; its output message then appears in the thread without a preceding request. When a null/undefined value is observed, it indicates it does not apply.
user_message_seq: Optional[int]
The seq the user message has in the thread’s message list. Present exactly when
user_message_id is present. Use it to place the sent prompt among the listed messages
before a list refresh includes it.
When a null/undefined value is observed, it indicates it does not apply.
class ThreadGetMessagesResponse: …
Immutable terminal outcome for a finalized assistant message.
steered: the message is complete as written; the user sent a newer
message before it finished. merged: the message has no content, and a
later answer covers its turn. Hide merged messages.
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.