Retrieve a run
One run with its transcript and every approval request it made.
Runs the real call on your workspace.
GET /task-runs/{id}
One run with its transcript and every approval request it made.
Example
Needs tasks:read, threads:read and emails:read. It also needs the read scopes of every toolkit the run used.
curl "$OE/task-runs/run_9d3a7e1c5b2f48a60c7e1d3b" -H "$AUTH"{ "object": "task_run", "id": "run_9d3a7e1c5b2f48a60c7e1d3b", "taskId": "tsk_4b9e2c7a1f3d86e05a9c2b7d", "taskName": "Morning summary", "trigger": "schedule", "threadId": null, "status": "waiting", "instruction": "Go through the mail that arrived since yesterday. Tell me which conversations need a reply from me, most urgent first, and draft a short reply for each.", "autonomy": "organize", "model": "standard", "steps": 4, "toolCalls": 6, "actions": 1, "result": null, "error": null, "errorDetail": null, "pendingApprovals": 1, "createdAt": "2026-10-13T07:00:04.112Z", "startedAt": "2026-10-13T07:00:05.870Z", "finishedAt": null, "transcript": [ { "role": "user", "text": "Go through the mail that arrived since yesterday. …", "at": "2026-10-13T07:00:05.870Z", "calls": [] }, { "role": "assistant", "text": "", "at": "2026-10-13T07:00:09.402Z", "calls": [ { "id": "call_1", "tool": "listThreads", "args": { "folder": "inbox", "maxResults": 20 }, "done": true, "result": "…" } ] } ], "approvals": [{ "object": "task_approval", "id": "apr_2f8c1a6e9b3d47c05e1a8f2c", "runId": "run_9d3a7e1c5b2f48a60c7e1d3b", "taskId": "tsk_4b9e2c7a1f3d86e05a9c2b7d", "taskName": "Morning summary", "tool": "replyToEmail", "summary": "Reply to [email protected]: Re: Invoice 1042", "args": { "threadId": "thr_7c1e4a90", "to": ["[email protected]"], "subject": "Re: Invoice 1042", "body": "Hi Ann, the invoice went out again this morning." }, "status": "pending", "createdAt": "2026-10-13T07:00:41.220Z", "expiresAt": "2026-10-20T07:00:41.220Z", "decidedAt": null }]}The first entry of transcript is the instruction, with role user. Every entry after it is a step the run took, with role assistant.
A call with done false has not run yet, most often because it waits for approval.
error says why a failed run failed: ai_limit when the workspace ran out of AI actions for the day, ai_unavailable when AI is not set up, and attempts or no_progress when it kept failing or stood still. A run that used all its steps is done, and its report says what is left.
A run that does not exist, or is older than 90 days, answers 404 task_run_not_found.