Skip to main content
The Task API is the canonical HTTP surface for Autumn. Every task is backed by one sandbox and one agent.

Authentication

Pass your API key as either header:
Create a key in Settings → Developer. Use the full key you copied when creating it; the shortened key shown later in settings is for display only. Keep it in an environment variable rather than in source.

Request fields

Keep clarify: false for automations. Human in the loop covers when the blocking question is worth it. Starting always returns immediately; wait on /task and /task/start is accepted for compatibility and does not block. On /continue and /execute, the legacy body field "wait": true blocks for the turn; other values return immediately. Integer timeouts are only supported on the two GET status routes.

Start from a prompt

Use this when your app has natural language and wants Autumn to infer the task shape.

Start from a task spec

Use this when your app already knows the task shape. prompt is optional and is appended to the task brief before the agent starts.
With clarify: true, Autumn initializes the task in plan mode and can ask before execution. See The task model for how the two start modes differ. Use GET /task/metaprompt when another agent or app needs to generate a clean task.json-style spec before calling /task/start.

Continue a task

Send new instructions to the same sandboxed task: refinements, more rows, fixes, a new output shape, or follow-up constraints.
Every route that advances a task has a streaming twin, with the same body and an SSE response. They are listed in the route map below, and Live messages covers the event names and SSE handling.

Read status and output

Status responses include state, done, message, progress, and version, as well as the legacy status, phase, and activity fields. status: "plan" is the resting phase before and after every turn, so it never means an execute call is pending. Rows already saved are readable from /output while done is still false; progress.rows says how many. See Task lifecycle for reading them correctly. CSV returns only the requested page and uses X-Next-Cursor when more rows remain. Output responses return rows from the active output file; see Outputs and sources for their shape.

Stop

Stop a task when the caller explicitly cancels it. The task returns to plan.

Route map

Next

Errors

Status codes and the ones worth designing around.

Task lifecycle

Telling a finished task from one that has not started.