Omni AI
ModelsExpand Collapse
class ActionButton:
Button metadata shared by chart and suggested-actions payloads.
Optional<String> itemId
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
class ChartPayload:
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
Optional<String> itemId
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
class ContentPartChartPayload:
Chart payload content part.
ChartPayload payload
Typed chart payload rendered inline in assistant content.
Buttons associated with this chart.
Optional<String> itemId
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
class ContentPartStructuredActionPayload:
Structured action content part.
StructuredAction action
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
PrefillOrderAction prefillOrder
OpenChart
OpenChartAction openChart
Open a chart for a symbol
Optional<JsonValue> extras
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener
OpenScreenerAction openScreener
Open a stock screener with filters
List<SearchFilter> filters
Filter criteria for the screener.
FieldRef left
The operator and optional arguments. Omit together with right for an unenabled filter.
FilterOperator name
The operator to apply.
The value(s) to compare against. Omit together with op for an unenabled filter.
A variable reference.
Optional<String> itemId
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<Long> pageSize
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
Optional sort specification. Absent means the screener’s default order. When a null/undefined value is observed, it indicates it does not apply.
FieldRef field
OpenEntitlementConsent
OpenEntitlementConsentAction openEntitlementConsent
Open entitlement consent flow
EntitlementAgreementKey agreementKey
Stable entitlement agreement family key.
class ContentPartSuggestedActionsPayload:
Suggested actions payload content part.
SuggestedActionsPayload payload
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
Optional<String> itemId
Interaction-tracking identity. Absent on messages created before tracking. When a null/undefined value is observed, it indicates that there is no available data.
class OpenChartAction:
Action to open a chart for a symbol.
Optional<JsonValue> extras
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
class OpenEntitlementConsentAction:
Action to open entitlement consent flow for one or more accounts.
EntitlementAgreementKey agreementKey
Stable entitlement agreement family key.
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.
List<SearchFilter> filters
Filter criteria for the screener.
FieldRef left
The operator and optional arguments. Omit together with right for an unenabled filter.
FilterOperator name
The operator to apply.
The value(s) to compare against. Omit together with op for an unenabled filter.
A variable reference.
Optional<String> itemId
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<Long> pageSize
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
Optional sort specification. Absent means the screener’s default order. When a null/undefined value is observed, it indicates it does not apply.
FieldRef field
class PrefillCancelOrderAction:
Cancel-order prefill action.
List<PrefillCancelOrderRequest> orders
Orders to cancel using the same identifiers required by the cancel-order API.
class PrefillModifyOrderAction:
Modify-order prefill action.
List<PrefillModifyOrderRequest> orders
class PrefillModifyOrderRequest:
class PrefillNewOrderAction:
New-order prefill action.
List<PrefillNewOrderRequest> orders
Orders to prefill using the same shape accepted by the orders API.
RequestOrderType orderType
String quantity
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
Side side
RequestTimeInForce timeInForce
Optional<String> id
Optional client-provided unique ID (idempotency). Required to be unique per account.
Optional<LocalDateTime> expiresAt
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
Optional<Boolean> extendedHours
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
Optional<String> instrumentId
Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.
Optional<String> itemId
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.
Optional<String> symbol
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.
class PrefillNewOrderRequest:
Request to submit a new order
RequestOrderType orderType
String quantity
Quantity to trade. For COMMON_STOCK: shares (may be fractional if supported). For OPTION (single-leg): contracts (must be an integer)
Side side
RequestTimeInForce timeInForce
Optional<String> id
Optional client-provided unique ID (idempotency). Required to be unique per account.
Optional<LocalDateTime> expiresAt
The timestamp when the order should expire (UTC). Required when time_in_force is GOOD_TILL_DATE.
Optional<Boolean> extendedHours
Allow trading outside regular trading hours. Some brokers disallow options outside RTH.
Optional<String> instrumentId
Instrument ID (UUID) or symbol (equity ticker or OSI option symbol). Either symbol or instrument_id must be provided.
Optional<String> itemId
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.
Optional<String> symbol
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.
class PrefillOrderAction: A class that can be one of several variants.union
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.
class StructuredAction: A class that can be one of several variants.union
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
PrefillOrderAction prefillOrder
OpenChart
OpenChartAction openChart
Open a chart for a symbol
Optional<JsonValue> extras
Additional chart configuration (indicators, overlays, etc.) When a null/undefined value is observed, it indicates it does not apply.
OpenScreener
OpenScreenerAction openScreener
Open a stock screener with filters
List<SearchFilter> filters
Filter criteria for the screener.
FieldRef left
The operator and optional arguments. Omit together with right for an unenabled filter.
FilterOperator name
The operator to apply.
The value(s) to compare against. Omit together with op for an unenabled filter.
A variable reference.
Optional<String> itemId
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<Long> pageSize
Optional page size. When a null/undefined value is observed, it indicates it does not apply.
Optional sort specification. Absent means the screener’s default order. When a null/undefined value is observed, it indicates it does not apply.
FieldRef field
OpenEntitlementConsent
OpenEntitlementConsentAction openEntitlementConsent
Open entitlement consent flow
EntitlementAgreementKey agreementKey
Stable entitlement agreement family key.
class SuggestedActionsPayload:
Suggested follow-up buttons rendered at the end of an assistant message.
Ordered message-level buttons.
Optional<String> itemId
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.
Get Entitlements
Create Entitlements
Delete Entitlement
Get Entitlement Status
Opt Out Of Entitlements
Get Entitlement Agreements
ModelsExpand Collapse
class EntitlementAgreementResource:
EntitlementAgreementKey agreementKey
Stable entitlement agreement family key.
class EntitlementResource:
EntitlementCode entitlementCode
Stable entitlement code granted by an agreement.
class EntitlementStatusResource:
Whether an entitlement is enabled for one account. Accounts the user never chose for are enabled by default.
EntitlementCode entitlementCode
Stable entitlement code granted by an agreement.
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
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.
ResponseStatus status
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.
When a null/undefined value is observed, it indicates that there is no available data.
List<ResponseContentPart> parts
Optional<String> continuedInResponseId
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.
Optional<String> outputMessageId
When a null/undefined value is observed, it indicates it does not apply.
Optional<Long> outputMessageSeq
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.
Optional<String> userMessageId
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.
Optional<Long> userMessageSeq
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 ResponseContent:
Dynamic response content container. May include thinking parts.
List<ResponseContentPart> parts
enum ResponseStatus:
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.
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.
MessageContent content
Finalized immutable message content container. Never includes thinking parts.
List<MessageContentPart> parts
MessageOutcome outcome
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.
MessageRole role
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<ContextItem> items
One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.
class MessageContent:
Finalized immutable message content container. Never includes thinking parts.
List<MessageContentPart> parts
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.
List<ContextItem> items
One to four snapshots. Each snapshot’s data may contain at most 32 levels of nesting.