output is the shape signal: it tells Autumn where durable
rows should go for the current task contract.
A task has one output at a time. Send it as a single output object; there is no
outputs list. To change what the task collects, continue the task with a message
describing the new shape (POST /task/{task_id}/continue). The agent updates the output
in place, or replaces it when you ask for a different kind of object. Earlier output
files stay readable through GET /task/{task_id}/outputs.
Output kinds
The same agent loop plans, executes, writes files, and streams events for every output
kind.
GET /task/{task_id}/output returns the task output rows, and
GET /task/{task_id}/outputs lists known row artifacts.
Rows are made of cells
Output rows are cells, not bare values. Every field pairs its value with the source it came from, so each row carries its own provenance:row["title"] is
an object, not a string.
Flatten {"value": ...} to plain values when you only want the data, and read _sources
when you need to show or audit where a value came from.
Keys prefixed with
_ are row metadata, not columns: _row_id, _sources, and lineage
or validation fields. Skip them when presenting results. See
Structured output for a flatten helper.Download a page as CSV
GET /task/{task_id}/output?format=csv returns only the current page. It honors limit
and cursor; when more rows remain, Autumn sends the next cursor in the
X-Next-Cursor response header. CSV cells are unwrapped to their plain values. Lists are
joined with ; ; objects and nested list elements are JSON-encoded. Strings beginning with
=, +, -, @, tab, or carriage return are prefixed with an apostrophe to prevent
spreadsheet formula execution.
The header is the union of row keys in first-seen order, excluding keys that start with
_.
X-Next-Cursor as the cursor query parameter to fetch the next page. JSON remains
the default format and returns _next_cursor in the body.
Reading a specific output
To read one named artifact, useGET /task/{task_id}/outputs/{output_id}, or pass
?output=output_id to /output.
Next
Structured output
Declare the exact columns you want back.
Model tiers
Pick the tier that fits the work.