Skip to main content
The concierge delivers new messages live over Server-Sent Events (SSE) at GET /v1/conversations/{id}/stream. Because the response is an open text/event-stream rather than a single request/response, it is documented here as a concept rather than in the interactive reference - the “Try it” playground cannot represent a long-lived stream.
Streaming is member-mode: it uses the member token, same as the rest of the concierge. See Conversations for the request/response message operations.

Consuming the stream

Each SDK exposes the stream as the idiomatic async sequence for its language, so you consume new messages with a normal loop: A common pattern is to print the recent backlog with listMessages first, then live-stream what follows:

Reconnect and backoff

The SDKs reconnect automatically if the stream drops, using the same full-jitter backoff as the rest of the client (base 500ms, capped at 10s). You consume one continuous sequence of messages; transient disconnects are handled underneath.

Cancellation

Stopping consumption tears down the underlying HTTP connection and any pending reconnect timer - no leaked sockets:
break out of the for await loop (or return), and the connection closes.
In a real app, end the stream on a lifecycle signal - a screen unmount, a cancelled task, or a closed scope - rather than after a fixed number of messages as the example does.