---
title: "Retrieve a run"
method: GET
path: "/agents/{id}/runs/{run_id}"
---

# Retrieve a run

`GET /agents/{id}/runs/{run_id}`

Returns one run including its full event transcript.

## Path parameters

- `id` string, required
- `run_id` string, required

## Response `200`

Run retrieved

- AgentRun — One execution of an agent. Unset fields (e.g. error_message on a successful run) are omitted from responses.
  - `id` string, uuid
  - `scheduled_agent_id` string, uuid — The agent this run belongs to
  - `triggered_by` 'manual' | 'schedule' | 'resume' | 'drop' | 'api' | 'agent' — `api` for runs started through this API with an API key; `agent` for runs started by another agent's run using its session key
  - `triggered_by_user_id` string, nullable — The user who started a manual run; null for API-triggered runs
  - `triggered_by_run_id` string, nullable — For agent-triggered runs: the run whose agent started this one
  - `agent_review_task_id` string, nullable — For resume runs: the review task whose resolution this run executes
  - `status` 'pending' | 'running' | 'completed' | 'failed' | 'cancelled'
  - `started_at` string, date-time, nullable
  - `completed_at` string, date-time, nullable
  - `duration_ms` integer, nullable
  - `error_message` string, nullable
  - `summary` string, nullable — The agent's markdown summary of what it did
  - `model` string, nullable — The model this run executed on
  - `total_input_tokens` integer, nullable
  - `total_output_tokens` integer, nullable
  - `output_files` AgentFile[] — Files the agent produced for the operator
    - `id` string, uuid
    - `filename` string
    - `byte_size` integer
    - `content_type` string
    - `created_at` string, date-time
    - `url` string — Signed download path, relative to the API host
  - `dropped_files` AgentFile[] — For drop runs: the file(s) this run was triggered to process
    - `id` string, uuid
    - `filename` string
    - `byte_size` integer
    - `content_type` string
    - `created_at` string, date-time
    - `url` string — Signed download path, relative to the API host
  - `delivery` object, nullable — The email delivery record for this run's output files, when delivery ran
  - `transcript` object[] — Full event transcript. Only included when fetching a single run
  - `created_at` string, date-time

## Other responses

- `401` — Unauthorized
- `404` — Agent or run not found

## Changes

- **2026-08-30** `26e55d00ee4b` — 1 warning, 1 info
  - added the new `agent` enum value to the `triggered_by` response property for the response status `200`
  - added the optional property `triggered_by_run_id` to the response with the `200` status
- **2026-08-29** `2e572738191a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/endclose/apis/end-close-api/changes/agents/:id/runs/:run_id/get.md)

---

[API](https://skmtc.dev/endclose/apis/end-close-api.md) · [All operations](https://skmtc.dev/endclose/apis/end-close-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/endclose/end-close-api/revisions/26e55d00ee4b/schema)
