Skip to the documentation
API

Retrieve a run

One run with its transcript and every approval request it made.

GET/task-runs/{id}

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
curl "$OE/task-runs/run_9d3a7e1c5b2f48a60c7e1d3b" -H "$AUTH"
Response
{  "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.

Reference