Agent

Stream an ask over server-sent events

Stream a turn's events as they happen instead of polling. The response is text/event-stream: every frame is a data: {json} line followed by a blank line, and a : keep-alive comment line goes out every 25 seconds so proxies keep an idle turn's socket open.

The stream first replays every event the turn has already persisted, then follows with live events, and closes when the turn's status reaches completed, failed, or awaiting_confirmation. A reconnect therefore loses nothing: reopen the stream and the replay delivers the whole turn again.

Each frame is a JSON object discriminated by kind: status, stage, text, text.delta, tool.call, tool.progress, tool.result, confirmation.required, card, artifact, and done. The model's raw reasoning (thinking.delta) is deliberately withheld from the public stream.

Streaming is additive: the turn is started (and charged) by POST /v1/ask, so opening, dropping, and reopening a stream never bills, and the poll contract is unchanged. A missing or cross-tenant turn is a real 404 issued before any SSE header goes out, never a 200 stream carrying an error frame. Connects are metered in the ask_stream rate-limit namespace, and a workspace can hold at most 20 concurrent streams; the 21st connect is refused with 429.

get/v1/ask/{id}/stream

Request

  • Base URL: https://api.talonic.com
  • URL: https://api.talonic.com/v1/ask/{id}/stream
  • Auth: HTTP bearer

Path parameters

idstring uuid required

Response

Server-sent event stream of the turn's frames, closed on terminal status.

Changes

No recorded changes to this operation across all 1 revision of this API.