---
title: "List agent runs"
method: GET
path: "/v1/agents/{id}/runs"
tags: ["agents"]
---

# List agent runs

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

Returns cursor-paginated runs for a V2 chat agent, newest first. Each run summarizes its status, disposition, error, latency, and token usage. Use `get agent run` for the full tool-call trace.

## Path parameters

- `id` string, required — Agent id.

## Query parameters

- `workspace_id` string — Optional workspace override. If omitted, Conduit resolves the agent's workspace automatically.
- `limit` integer
- `cursor` string
- `status` 'accepted' | 'running' | 'completed' | 'failed' — Filter runs by lifecycle status.

## Response `200`

Agent runs

- object — Cursor-paginated agent runs response.
  - `data` object[], required
    - `id` string, required — Run identifier. Pass to the get-run endpoint.
    - `run_id` string, required — Agent backend run id, useful for cross-referencing traces.
    - `agent_id` string, required
    - `workspace_id` string, required
    - `status` 'accepted' | 'running' | 'completed' | 'failed', required — Lifecycle status of the run. `accepted`/`running` are in-flight; `completed`/`failed` are terminal.
    - `disposition` 'escalated' | 'escalation_and_answer' | 'resolved' | 'unresolved' | 'no_op' | 'proactive', nullable, required — The agent's decision for this run.
    - `contact_id` string, nullable, required
    - `conversation_id` string, nullable, required
    - `trigger_id` string, nullable, required
    - `error` string, nullable, required — Failure message when `status` is `failed`.
    - `duration_ms` number, nullable, required — End-to-end run latency in milliseconds.
    - `token_usage` object, nullable, required — Token usage reported by the agent backend.
      - `input` number, required — Input (prompt) tokens consumed.
      - `output` number, required — Output (completion) tokens produced.
    - `total_cost` number, nullable, required — Provider cost of the run in USD. Null for internal agents (billed in credits).
    - `trace_id` string, nullable, required
    - `created_at` string, required
    - `completed_at` string, nullable, required
  - `next_cursor` string, nullable, required
  - `has_more` boolean, required

## Other responses

- `400` — Invalid request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `429` — Rate limit exceeded

---

[API](https://skmtc.dev/conduit/apis/conduit-api.md) · [All operations](https://skmtc.dev/conduit/apis/conduit-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/conduit/conduit-api/revisions/3ad7e17f96ad/schema)
