---
title: "List eval runs"
method: GET
path: "/api/v1/ai/eval/runs"
tags: ["AI Eval"]
---

# List eval runs

`GET /api/v1/ai/eval/runs`

List runs for a prompt set, newest first, filtered to runs whose model the caller can access. The `prompt_set_id` query parameter is required.

## Query parameters

- `archived` 'true' | 'false' — When `true`, returns archived runs instead of active ones. Defaults to `false`.
- `prompt_set_id` string, uuid, required — Required — the prompt set whose runs should be listed.

## Response `200`

List of runs for the prompt set.

- EvalRunsListResponse
  - `runs` EvalRunListItem[], required — Runs for the prompt set, newest first, filtered to those whose model the caller can access.
    - `branch_id` string, uuid, nullable, required — Optional branch ID the run was executed against. Null when run against the main shared model.
    - `branch_name` string, nullable, required — Display name for the branch, if `branch_id` is set.
    - `completed_at` string, nullable, required — ISO 8601 timestamp when the run reached a terminal state.
    - `created_at` string, nullable, required — ISO 8601 timestamp when the run was created.
    - `description` string, nullable, required — Optional human-readable description for the run.
    - `id` string, uuid, required — Unique identifier for the run.
    - `is_archived` boolean, required — Whether the run has been archived.
    - `model_id` string, uuid, required — The shared model this run was executed against.
    - `prompt_set_id` string, uuid, required — The prompt set this run was created from.
    - `repeat_count` integer, required — How many times each prompt in the set was executed.
    - `run_number` integer, required — Sequential, per-prompt-set run number.
    - `stats` EvalRunStats, required
      - `terminal` integer, required — Number of per-prompt jobs that have reached a terminal state (COMPLETE, FAILED, or CANCELLED).
      - `total` integer, required — Total number of jobs in the run (prompts × the repeat count).
    - `status` 'RUNNING' | 'COMPLETE' | 'CANCELLED', required — Run-level lifecycle. Flips to a terminal state (COMPLETE or CANCELLED) exactly once.

## Other responses

- `400` — Missing or invalid `prompt_set_id`.
- `401` — Missing or invalid API key.
- `403` — Insufficient permissions.
- `404` — Prompt set not found.

---

[API](https://skmtc.net/omniapp/apis/omni-api.md) · [All operations](https://skmtc.net/omniapp/apis/omni-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/omniapp/omni-api/versions/de7cac8b5983/schema)
