Skip to main content
Autumn accepts .csv, .txt, .md, and .markdown uploads up to 10 MB and 10,000 rows. Uploading is three calls: create a task to attach to, presign, then validate.
Send the PUT to upload_url without X-API-Key or Authorization. The presigned URL carries its own signature, and an extra auth header will be rejected.

What validation returns

/validate-upload converts a CSV to task-local JSONL and returns the filename to pass as input_files:
Check renamed and extra_columns before you rely on column names. A messy header is repaired rather than rejected, so the names you get back may not be the names you sent.
Autumn reserves _row_id for its own row identity. A CSV that already has a _row_id column keeps its values under _row_id_2.

Enrich the uploaded rows

Pass the validated filename as input_files and describe the columns you want added:
“Leave a field empty rather than guessing” is worth stating explicitly. Enrichment fills what it can find, and an unstated bar becomes a guessed one. See Writing task prompts. Then wait for the turn to finish and read the rows back, exactly as for any other task:
Enriched values come back as cells with _sources, so you can show where each filled value came from. See Outputs and sources. /upload-url is rate limited per account. Exceeding it returns 429; retry after a short pause. See Rate limits.

Structured output

Declare the exact columns you want added.

Task lifecycle

Waiting for the enrichment turn to finish.