Skip to content
Get started

Omni AI

ModelsExpand Collapse
class ActionButton:

Button metadata shared by chart and suggested-actions payloads.

String buttonId

Stable button identifier within the content part.

String label

User-visible label.

Optional<PromptButtonAction> prompt

Follow-up prompt to submit as the next user message.

String prompt

Prompt text to submit as the next user turn.

Optional<StructuredActionButtonAction> structuredAction

Structured action in the same message to execute on click.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
class ChartPayload:

Typed chart payload rendered inline in assistant content.

String chartId

Stable chart identifier scoped to the content part.

Optional<List<ActionButton>> actionButtons

Buttons associated with this chart.

String buttonId

Stable button identifier within the content part.

String label

User-visible label.

Optional<PromptButtonAction> prompt

Follow-up prompt to submit as the next user message.

String prompt

Prompt text to submit as the next user turn.

Optional<StructuredActionButtonAction> structuredAction

Structured action in the same message to execute on click.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
Optional<DataChart> dataChart

Explicit series-driven chart definition.

Optional<List<ChartSeries>> series
String name
Optional<List<ChartPoint>> points
String x
double y
Optional<SymbolChart> symbolChart

Symbol-driven chart definition.

String symbol
Optional<String> timeframe
class ChartPoint:

Single chart coordinate.

String x
double y
class ChartSeries:

Named data series within a chart.

String name
Optional<List<ChartPoint>> points
String x
double y
class ContentPartChartPayload:

Chart payload content part.

ChartPayload payload

Typed chart payload rendered inline in assistant content.

String chartId

Stable chart identifier scoped to the content part.

Optional<List<ActionButton>> actionButtons

Buttons associated with this chart.

String buttonId

Stable button identifier within the content part.

String label

User-visible label.

Optional<PromptButtonAction> prompt

Follow-up prompt to submit as the next user message.

String prompt

Prompt text to submit as the next user turn.

Optional<StructuredActionButtonAction> structuredAction

Structured action in the same message to execute on click.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
Optional<DataChart> dataChart

Explicit series-driven chart definition.

Optional<List<ChartSeries>> series
String name
Optional<List<ChartPoint>> points
String x
double y
Optional<SymbolChart> symbolChart

Symbol-driven chart definition.

String symbol
Optional<String> timeframe
class ContentPartCustomPayload:

Escape-hatch custom payload content part.

JsonValue payload
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:
PrefillOrder
PrefillOrderAction prefillOrder

Prefill an order ticket for user confirmation

One of the following:
PrefillNewOrderAction
ActionType actionType
PrefillCancelOrderAction
ActionType actionType
OpenChart
OpenChartAction openChart

Open a chart for a symbol

String symbol

Trading symbol to chart

Optional<JsonValue> extras

Additional chart configuration (indicators, overlays, etc.)

Optional<String> timeframe

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”)

OpenScreener
OpenScreenerAction openScreener

Open a stock screener with filters

List<ScreenerFilter> filters

Filter criteria for the screener

String field

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

String operator

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

JsonValue value

Filter value

Optional<List<String>> fieldFilter

Optional field/column selection for screener results.

Optional<Long> pageSize

Optional page size.

formatint32
Optional<String> sortBy

Optional sort field for screener rows.

Optional<String> sortDirection

Optional sort direction (ASC or DESC).

OpenEntitlementConsent

Open entitlement consent flow

Stable entitlement agreement family key.

String actionId
class ContentPartSuggestedActionsPayload:

Suggested actions payload content part.

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

Optional<List<ActionButton>> actionButtons

Ordered message-level buttons.

String buttonId

Stable button identifier within the content part.

String label

User-visible label.

Optional<PromptButtonAction> prompt

Follow-up prompt to submit as the next user message.

String prompt

Prompt text to submit as the next user turn.

Optional<StructuredActionButtonAction> structuredAction

Structured action in the same message to execute on click.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
class ContentPartTextPayload:

Text content part.

String text
class ContentPartThinkingPayload:

Thinking content part shown on dynamic response polling.

List<String> thoughts
class DataChart:

Chart represented by explicit data series.

Optional<List<ChartSeries>> series
String name
Optional<List<ChartPoint>> points
String x
double y
class OpenChartAction:

Action to open a chart for a symbol.

String symbol

Trading symbol to chart

Optional<JsonValue> extras

Additional chart configuration (indicators, overlays, etc.)

Optional<String> timeframe

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”)

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

Stable entitlement agreement family key.

class OpenScreenerAction:

Action to open a stock screener with filters.

List<ScreenerFilter> filters

Filter criteria for the screener

String field

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

String operator

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

JsonValue value

Filter value

Optional<List<String>> fieldFilter

Optional field/column selection for screener results.

Optional<Long> pageSize

Optional page size.

formatint32
Optional<String> sortBy

Optional sort field for screener rows.

Optional<String> sortDirection

Optional sort direction (ASC or DESC).

class PrefillCancelOrderAction:

Cancel-order prefill action.

List<CancelOrderRequest> orders

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

long accountId

Account ID (from path parameter)

formatint64
String orderId

Order ID to cancel (from path parameter)

class PrefillNewOrderAction:

New-order prefill action.

List<NewOrderRequest> orders

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

SecurityType instrumentType

Type of security

One of the following:
COMMON_STOCK("COMMON_STOCK")
PREFERRED_STOCK("PREFERRED_STOCK")
OPTION("OPTION")
CASH("CASH")
OTHER("OTHER")

Type of order

One of the following:
MARKET("MARKET")
LIMIT("LIMIT")
STOP("STOP")
STOP_LIMIT("STOP_LIMIT")
TRAILING_STOP("TRAILING_STOP")
TRAILING_STOP_LIMIT("TRAILING_STOP_LIMIT")
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

Side of the order

One of the following:
BUY("BUY")
SELL("SELL")
SELL_SHORT("SELL_SHORT")
OTHER("OTHER")
RequestTimeInForce timeInForce

Time in force

One of the following:
DAY("DAY")
GOOD_TILL_CANCEL("GOOD_TILL_CANCEL")
IMMEDIATE_OR_CANCEL("IMMEDIATE_OR_CANCEL")
FILL_OR_KILL("FILL_OR_KILL")
GOOD_TILL_DATE("GOOD_TILL_DATE")
AT_THE_OPENING("AT_THE_OPENING")
AT_THE_CLOSE("AT_THE_CLOSE")
GOOD_TILL_CROSSING("GOOD_TILL_CROSSING")
GOOD_THROUGH_CROSSING("GOOD_THROUGH_CROSSING")
AT_CROSSING("AT_CROSSING")
Optional<String> id

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

maxLength64
Optional<LocalDateTime> expiresAt

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

formatdate-time
Optional<Boolean> extendedHours

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

Optional<String> instrumentId

OEMS instrument UUID

formatuuid
Optional<String> limitOffset

Limit offset for trailing stop-limit orders (signed)

Optional<String> limitPrice

Limit price (required for LIMIT and STOP_LIMIT orders)

Optional<PositionEffect> positionEffect

Required when instrument_type is OPTION. Specifies whether the order opens or closes a position.

One of the following:
OPEN("OPEN")
CLOSE("CLOSE")
Optional<String> stopPrice

Stop price (required for STOP and STOP_LIMIT orders)

Optional<String> symbol

Trading symbol. For equities, use the ticker symbol (e.g., “AAPL”). For options, use the OSI symbol (e.g., “AAPL 250117C00190000”). Either symbol or instrument_id must be provided.

Optional<String> trailingOffset

Trailing offset amount (required for trailing orders)

Optional<TrailingOffsetType> trailingOffsetType

Trailing offset type (PRICE or PERCENT_BPS)

One of the following:
PRICE("PRICE")
BPS("BPS")
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.

PrefillNewOrderAction
ActionType actionType
PrefillCancelOrderAction
ActionType actionType
class PromptButtonAction:

Prompt-style button behavior.

String prompt

Prompt text to submit as the next user turn.

class ScreenerFilter:

A single filter criterion for the screener.

String field

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

String operator

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

JsonValue value

Filter value

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

Prefill an order ticket for user confirmation

One of the following:
PrefillNewOrderAction
ActionType actionType
PrefillCancelOrderAction
ActionType actionType
OpenChart
OpenChartAction openChart

Open a chart for a symbol

String symbol

Trading symbol to chart

Optional<JsonValue> extras

Additional chart configuration (indicators, overlays, etc.)

Optional<String> timeframe

Chart timeframe (e.g., “1D”, “1W”, “1M”, “3M”, “1Y”, “5Y”)

OpenScreener
OpenScreenerAction openScreener

Open a stock screener with filters

List<ScreenerFilter> filters

Filter criteria for the screener

String field

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

String operator

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

JsonValue value

Filter value

Optional<List<String>> fieldFilter

Optional field/column selection for screener results.

Optional<Long> pageSize

Optional page size.

formatint32
Optional<String> sortBy

Optional sort field for screener rows.

Optional<String> sortDirection

Optional sort direction (ASC or DESC).

OpenEntitlementConsent

Open entitlement consent flow

Stable entitlement agreement family key.

class StructuredActionButtonAction:

Structured-action button behavior.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
class SuggestedActionsPayload:

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

Optional<List<ActionButton>> actionButtons

Ordered message-level buttons.

String buttonId

Stable button identifier within the content part.

String label

User-visible label.

Optional<PromptButtonAction> prompt

Follow-up prompt to submit as the next user message.

String prompt

Prompt text to submit as the next user turn.

Optional<StructuredActionButtonAction> structuredAction

Structured action in the same message to execute on click.

Optional<String> actionId

UUID of a structured_action content part in the same message.

formatuuid
class SymbolChart:

Chart for a single symbol and timeframe.

String symbol
Optional<String> timeframe

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

Get Entitlements
EntitlementGetEntitlementsResponse v1().omniAi().entitlements().getEntitlements(EntitlementGetEntitlementsParamsparams = EntitlementGetEntitlementsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/entitlements
Create Entitlements
EntitlementCreateEntitlementsResponse v1().omniAi().entitlements().createEntitlements(EntitlementCreateEntitlementsParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/omni-ai/entitlements
Delete Entitlement
EntitlementDeleteEntitlementResponse v1().omniAi().entitlements().deleteEntitlement(EntitlementDeleteEntitlementParamsparams = EntitlementDeleteEntitlementParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
DELETE/v1/omni-ai/entitlements/{entitlement_id}
Get Entitlement Agreements
EntitlementGetEntitlementAgreementsResponse v1().omniAi().entitlements().getEntitlementAgreements(EntitlementGetEntitlementAgreementsParamsparams = EntitlementGetEntitlementAgreementsParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/entitlement-agreements
ModelsExpand Collapse
class DeleteEntitlementResponse:
String entitlementId
boolean revoked
enum EntitlementAgreementKey:

Stable entitlement agreement family key.

OMNI_ACCOUNT_DATA_ACCESS("omni_account_data_access")
class EntitlementAgreementResource:
String agreementId

Stable entitlement agreement family key.

String documentContent
String documentSha256
List<EntitlementCode> entitlementCodes
String title
long version
enum EntitlementCode:

Stable entitlement code granted by an agreement.

OMNI_ACCOUNT_DATA("omni.account_data")
class EntitlementResource:
String agreementId
EntitlementCode entitlementCode

Stable entitlement code granted by an agreement.

String entitlementId
String grantedAt
long tradingAccountId

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

Get Message By ID
MessageGetMessageByIdResponse v1().omniAi().messages().getMessageById(MessageGetMessageByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/messages/{message_id}
Submit Feedback
MessageSubmitFeedbackResponse v1().omniAi().messages().submitFeedback(MessageSubmitFeedbackParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/omni-ai/messages/{message_id}/feedback
ModelsExpand Collapse
class CreateFeedbackResponse:
String createdAt
Optional<String> feedbackId

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

Get Response By ID
ResponseGetResponseByIdResponse v1().omniAi().responses().getResponseById(ResponseGetResponseByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/responses/{response_id}
Cancel Response
ResponseCancelResponseResponse v1().omniAi().responses().cancelResponse(ResponseCancelResponseParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
DELETE/v1/omni-ai/responses/{response_id}
ModelsExpand Collapse
class CancelResponsePayload:
boolean canceled
class ErrorStatus:

Shared sanitized error payload.

String code
String message
Optional<JsonValue> details
class Response:

Dynamic pollable response.

String id

Dynamic lifecycle status for a pollable response.

One of the following:
QUEUED("queued")
RUNNING("running")
SUCCEEDED("succeeded")
FAILED("failed")
CANCELED("canceled")
String threadId
String userMessageId
Optional<ResponseContent> content

Dynamic response content container. May include thinking parts.

One of the following:
UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
UnionMember5
Type type
Optional<ErrorStatus> error

Shared sanitized error payload.

String code
String message
Optional<JsonValue> details
Optional<String> outputMessageId
class ResponseContent:

Dynamic response content container. May include thinking parts.

One of the following:
UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
UnionMember5
Type type
class ResponseContentPart: A class that can be one of several variants.union

Dynamic content part visible on a pollable response.

UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
UnionMember5
Type type
enum ResponseStatus:

Dynamic lifecycle status for a pollable response.

QUEUED("queued")
RUNNING("running")
SUCCEEDED("succeeded")
FAILED("failed")
CANCELED("canceled")

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

Get Threads
ThreadGetThreadsResponse v1().omniAi().threads().getThreads(ThreadGetThreadsParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/threads
Get Thread By ID
ThreadGetThreadByIdResponse v1().omniAi().threads().getThreadById(ThreadGetThreadByIdParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/threads/{thread_id}
Create Thread
ThreadCreateThreadResponse v1().omniAi().threads().createThread(ThreadCreateThreadParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/omni-ai/threads
Get Thread Response
ThreadGetThreadResponseResponse v1().omniAi().threads().getThreadResponse(ThreadGetThreadResponseParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/threads/{thread_id}/response
Get Messages
ThreadGetMessagesResponse v1().omniAi().threads().getMessages(ThreadGetMessagesParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
GET/v1/omni-ai/threads/{thread_id}/messages
Create Message
ThreadCreateMessageResponse v1().omniAi().threads().createMessage(ThreadCreateMessageParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/v1/omni-ai/threads/{thread_id}/messages
ModelsExpand Collapse
class CreateMessageResponse:

Response payload for continuing a thread with a new message.

String responseId
String threadId
String userMessageId
class CreateThreadResponse:

Response payload for thread creation.

String responseId
String threadId
String userMessageId
class Message:

Final immutable message.

String id

Finalized immutable message content container. Never includes thinking parts.

List<MessageContentPart> parts
One of the following:
UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
String createdAt

Immutable terminal outcome for a finalized assistant message.

One of the following:
COMPLETED("completed")
ERRORED("errored")
CANCELED("canceled")

Finalized message role in the public contract.

One of the following:
USER("USER")
ASSISTANT("ASSISTANT")
long seq
String threadId
Optional<ErrorStatus> error

Shared sanitized error payload.

String code
String message
Optional<JsonValue> details
class MessageContent:

Finalized immutable message content container. Never includes thinking parts.

List<MessageContentPart> parts
One of the following:
UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
class MessageContentPart: A class that can be one of several variants.union

Final immutable content part visible on persisted messages.

UnionMember0
Type type
UnionMember1
Type type
UnionMember2
Type type
UnionMember3
Type type
UnionMember4
Type type
enum MessageOutcome:

Immutable terminal outcome for a finalized assistant message.

COMPLETED("completed")
ERRORED("errored")
CANCELED("canceled")
enum MessageRole:

Finalized message role in the public contract.

USER("USER")
ASSISTANT("ASSISTANT")
class Thread:

Thread metadata returned by list/get thread endpoints.

String id
String createdAt
String title
String updatedAt