POST /v1/agents/{agent_id}/run takes two flavours of body. Use JSON for text-only runs;
use multipart/form-data whenever you need to attach files.
Attach one or more files
Send the request asmultipart/form-data and add a files field per attachment.
Either
query or at least one file is required — you can send files with no text query
if the agent’s system prompt fully covers what to do with them.Shape the output with output_config
By default, the agent’s extracted_data follows the key definitions configured in the
dashboard. To override that per-task, send an output_config object:
output_schema— a JSON or natural-language schema describing the desired shape. Strings, numbers, arrays, and nested objects are all supported. This overrides any dashboard-defined keys for this task.instructions— free-text guidance appended to the LLM’s output-format prompt. Use this for hints that don’t fit cleanly in the schema (“dates asYYYY-MM-DD”, “skip header rows”, etc.).
JSON body — text + schema
Multipart body — files + schema
When sending files,output_config is a string field carrying the JSON payload:
Reading the structured result
When the task completes, the structured payload is in thesummary response under
extracted_data:
Response
/result instead of /summary if you need the full reasoning trail (every tool
call the agent made along the way) — useful during development, overkill in production.