Skip to main content
Returns the authoritative lifecycle state for a durable turn. Poll this endpoint after Create Durable Turn, or use it to inspect a WebSocket-created turn.
Status polling is not rate-limited by the chat submission throttle. Use client backoff rather than a tight loop.
string
required
Bearer token obtained from Authenticate.
string
required
Published agent UUID used to run the chat.
string
required
Member-owned chat UUID.
string
required
Durable turn UUID returned at acceptance.

Response

string
required
Durable turn UUID.
string
required
Owning chat UUID.
string
required
Public lifecycle status: in_progress, completed, failed, or cancelled.
string
required
ISO 8601 acceptance timestamp.
string | null
required
Terminal timestamp, or null while in progress.
integer
required
Highest durable event sequence represented by the status snapshot.
string | null
required
Authoritative accumulated assistant text through last_seq. It can be present while in progress and after cancellation/failure.
string | null
required
UUID of the persisted terminal assistant message, when one was written. It is present for completed and failed turns, can be present for a cancelled turn with persisted partial output, and is null while running or when cancellation produced no message.
boolean
required
Whether exact event replay is currently available. A terminal turn reports true only when the journal includes its terminal event.
boolean
required
Whether the turn permanently lost exact replay guarantees.
object | null
required
Safe public error when status is failed, otherwise null.

Polling behavior

  • While status is in_progress, update the displayed partial answer from partial_content and remember last_seq.
  • On completed, fetch result_message_id with Get Message or refresh Get Chat.
  • On failed, surface error.code; result_message_id identifies the persisted error message, and error.debug_id is available for support correlation.
  • On cancelled, keep any non-empty partial_content as the persisted partial answer. A non-null result_message_id identifies that persisted partial assistant message.
The status endpoint and Get Chat use public status values. A WebSocket resume control frame instead exposes raw status values (running, done, error, cancelled).