API ReferenceConversations

Stream messages (Server-Sent Events)

Server-Sent Events (text/event-stream) feed of new messages for a conversation. Authenticate with a `ticket` obtained from POST .../stream-ticket (no API key header here, since EventSource cannot set headers). Supports reconnect/catch-up via the `Last-Event-ID` header (automatically sent by EventSource) or the `?after=` query parameter. Emits `message` events (and periodic `heartbeat` events to keep the connection alive). Each `message` event's SSE `id:` is the chat id and its `data:` JSON matches `StreamMessageEvent`.

GET
/api/v1/console/agents/{agentId}/conversations/{conversationId}/messages/stream

Path Parameters

agentId*string
conversationId*string

Query Parameters

ticket*string

Single-use SSE ticket from the stream-ticket endpoint.

after?string

Replay messages created after this chat id or ISO-8601 timestamp.

Header Parameters

Last-Event-ID?string

Last received message id; replays anything missed since (sent automatically by EventSource on reconnect).

Response Body

text/event-stream

application/json

application/json

application/json

curl -X GET "https://example.com/api/v1/console/agents/string/conversations/string/messages/stream?ticket=string"

A new conversation message

"id: cm123abc456def\nevent: message\ndata: {\"id\":\"cm123abc456def\",\"conversation_id\":\"cm456def789ghi\",\"role\":\"user\",\"message\":\"Hello, I need help with my order\",\"message_type\":\"text\",\"created_at\":\"2026-06-05T08:00:00.000Z\"}\n"

{  "message": "Resource not found",  "error": "Not Found",  "code": "not_found",  "statusCode": 404,  "request_id": "266ea41d-adf5-480b-af50-15b940c2b846"}
{  "message": "Resource not found",  "error": "Not Found",  "code": "not_found",  "statusCode": 404,  "request_id": "266ea41d-adf5-480b-af50-15b940c2b846"}
{  "message": "Too many concurrent streams for this subject",  "error": "Too Many Requests",  "code": "too_many_requests",  "statusCode": 429}