Skip to content
Get started

Create Message

POST/v1/omni-ai/threads/{thread_id}/messages

Continue an existing conversation thread.

Appends a new user message to the thread and starts an assistant response. Only one response may be active per thread at a time — if the previous turn is still in progress, this endpoint returns 409 Conflict. Wait for the active response to reach a terminal status before submitting the next turn.

Poll the returned response_id via GET /omni-ai/responses/{response_id} for assistant output.

Path ParametersExpand Collapse
thread_id: string
Body ParametersJSONExpand Collapse
account_id: number
text: string
capabilities: optional array of "PREFILL_ORDER" or "OPEN_CHART" or "OPEN_SCREENER" or "OPEN_ENTITLEMENT_CONSENT"
One of the following:
"PREFILL_ORDER"
"OPEN_CHART"
"OPEN_SCREENER"
"OPEN_ENTITLEMENT_CONSENT"
ReturnsExpand Collapse
data: CreateMessageResponse { response_id, thread_id, user_message_id }

Response payload for continuing a thread with a new message.

response_id: string
thread_id: string
user_message_id: string

Create Message

curl https://api.clearstreet.com/v1/omni-ai/threads/$THREAD_ID/messages \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $API_KEY" \
    -d '{
          "account_id": 19816,
          "text": "Compare that to AMD."
        }'
{
  "data": {
    "response_id": "019dbaec-8dd3-7fa3-89d0-5303609f125f",
    "thread_id": "019dbae9-73b3-7fe0-bd14-25fe57e91475",
    "user_message_id": "019dbaec-8dd4-7f91-bce2-3ec8fba79eb7"
  },
  "metadata": {
    "request_id": "48775400-61f4-4c6c-bc6d-8f4996c571c7"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: EOF while parsing an object at line 3 column 0"
  },
  "metadata": {
    "request_id": "8cf61bb3-a8c6-4f3e-abe8-5a5327001b55"
  }
}
{
  "error": {
    "code": 409,
    "message": "thread already has an active response"
  },
  "metadata": {
    "request_id": "7b34ad9b-e09a-40d1-aab8-2185a8df5a31"
  }
}
{
  "error": {
    "code": 422,
    "message": "Failed to deserialize the JSON body into the target type: missing field `account_id` at line 3 column 3"
  },
  "metadata": {
    "request_id": "9fbd975d-be1e-4710-9004-1f54d0d4dfb6"
  }
}
Returns Examples
{
  "data": {
    "response_id": "019dbaec-8dd3-7fa3-89d0-5303609f125f",
    "thread_id": "019dbae9-73b3-7fe0-bd14-25fe57e91475",
    "user_message_id": "019dbaec-8dd4-7f91-bce2-3ec8fba79eb7"
  },
  "metadata": {
    "request_id": "48775400-61f4-4c6c-bc6d-8f4996c571c7"
  }
}
{
  "error": {
    "code": 400,
    "message": "Failed to parse the request body as JSON: EOF while parsing an object at line 3 column 0"
  },
  "metadata": {
    "request_id": "8cf61bb3-a8c6-4f3e-abe8-5a5327001b55"
  }
}
{
  "error": {
    "code": 409,
    "message": "thread already has an active response"
  },
  "metadata": {
    "request_id": "7b34ad9b-e09a-40d1-aab8-2185a8df5a31"
  }
}
{
  "error": {
    "code": 422,
    "message": "Failed to deserialize the JSON body into the target type: missing field `account_id` at line 3 column 3"
  },
  "metadata": {
    "request_id": "9fbd975d-be1e-4710-9004-1f54d0d4dfb6"
  }
}