Skip to content
Get started

Messages

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
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]
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 UnionMember0:

Text content part.

type: Literal["text"]
class UnionMember1:

Structured action content part.

type: Literal["structured_action"]
class UnionMember2:

Chart payload content part.

type: Literal["chart"]
class UnionMember3:

Suggested actions payload content part.

type: Literal["suggested_actions"]
class UnionMember4:

Escape-hatch custom payload content part.

type: Literal["custom"]
created_at: str

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
error: Optional[ErrorStatus]

Shared sanitized error payload.

code: str
message: str
details: Optional[object]
class MessageSubmitFeedbackResponse:
created_at: str
feedback_id: Optional[str]