Skip to main content

Statuses

StatusMeaningTerminal?
runningThe agent is working. This includes startup before the first turn.No — keep polling.
finishedThe agent is idle. When it ended its turn normally, the output for the last input is complete.Terminal for your request; read the transcript. The agent can run again if it receives more input in the app.
technical_errorThe run hit an internal error. The transcript may be partial.Yes — create a new run.
terminatedThe run was stopped or deleted.Yes.

Polling guidance

Poll every 3 to 10 seconds. Runs commonly take several minutes, so expect to poll for a while. Add jitter if you run many polls at once. This API doesn’t provide webhooks; to detect completion, poll GET /v1/agents/{agent_id}. If it returns 502 or 503, back off exponentially and keep polling. For details, see Errors and retries.

What the transcript contains

The transcript includes only the inputs the agent accepted (input_to_agent) and each turn’s final output (output_from_agent), ordered oldest first. It doesn’t include intermediate tool calls, reasoning, or files the agent produced. An empty transcript early in a run is normal, and the transcript can trail loop_status by a few seconds — if a run just turned finished and the transcript looks incomplete, read it again shortly after.
A finished run can run again. The status means the agent is idle at the end of a turn. A user in the Clicks app can give the same agent more input, which sets it back to running. The API has no endpoint for sending more input, so for API callers finished is effectively terminal.