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.
Request
- Base URL: https://api.talonic.com
- URL: https://api.talonic.com/v1/ask/{id}/stream
- Auth: HTTP bearer
Path parameters
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.