Skip to main content
Stream messages as the agent works: planning, tool calls, and progress. Autumn emits Server-Sent Events on the /stream routes, with the same event names the dashboard uses. Two ways in:

Start and stream

Subscribe to a running task

Already have a task_id? Attach to it. This is the route to use when one process starts the task and another watches it.
GET /task/{task_id}/stream only streams events for that task_id. When the turn emits done, the stream can close. Reconnect later only if you need the next active turn.

Event names

Each message carries a type, a summary, and data. Treat done as end-of-turn, not end-of-task; a task can run more turns if you continue it.

Streaming the other routes

Every route that advances a task has a streaming twin. Same body, SSE response:

Polling instead of streaming

Streaming is optional. Poll GET /task/{task_id} when you only care about the result; a long-running task doesn’t need a held-open connection. Getting the loop’s exit condition right is subtler than it looks: a finished task returns to status: "plan", which is also its state before execution. See Task lifecycle for the complete terminal check and a copy-paste loop.

Task API

The raw SSE interface and route map.

Follow-up tasks

Continue a task and stream the next turn.