---
title: "List Eval Runs"
method: GET
path: "/api/v1/console/evals/runs"
tags: ["evals"]
---

# List Eval Runs

`GET /api/v1/console/evals/runs`

## Request

- Base URL: `https://ndi-api.nace.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://ndi-api.nace.ai/api/v1/console/evals/runs`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nace/apis/ndi-service/docs/api/v1/console/evals/runs/get.ts> (a function with typed inputs; its response is checked against the schema)

Every operator's runs, newest first.

## Query parameters

- `cursor` string, nullable: `next_cursor` from the previous page.
- `limit` integer

## Headers

- `x-api-key` string, nullable

## Response `200`

Successful Response

- EvalRunListResponse
  - `runs` EvalRun[], required
    - `eval_run_id` string, uuid, required
    - `status` string, required: `queued` | `running` | `succeeded` | `failed`. Open enum — never switch exhaustively.
    - `name` string, nullable
    - `created_by_email` string, nullable: Who started it. Null once that account is gone; the run's numbers stay.
    - `params` EvalRunParams, required: What to run and how. An empty selection means every runnable sample.
      - `sample_ids` string[]
      - `layer` string, nullable
      - `tags` string[]
      - `k_override` integer, nullable: Overrides each sample's own `k_runs`.
      - `judge_model` string, nullable
      - `use_judge` boolean
      - `timeout_seconds` number, nullable: Overrides every selected sample's rollout timeout.
      - `max_concurrent_samples` integer
    - `workflow_id` string, nullable
    - `samples_total` integer, required
    - `samples_passed` integer, required
    - `samples_failed` integer, required
    - `error` string, nullable: Set when the run itself broke, not when a sample failed its metrics.
    - `created_at` string, date-time, required
    - `started_at` string, date-time, nullable
    - `finished_at` string, date-time, nullable
  - `next_cursor` string, nullable
  - `total_count` integer, required

## Other responses

- `400`: Bad Request
- `401`: Missing or invalid bearer token.
- `402`: Payment Required
- `403`: An API key was sent, the account is not Nace staff, or it is disabled.
- `404`: No console account for this identity — sign in first.
- `409`: Conflict
- `413`: Request Entity Too Large
- `422`: Unprocessable Entity
- `500`: Internal Server Error
- `503`: The eval harness or its worker queue is not available on this deployment.

---

[API](https://skmtc.dev/nace/apis/ndi-service.md) - [All operations](https://skmtc.dev/nace/apis/ndi-service/llms.txt) - [OpenAPI document](https://skmtc.dev/nace/apis/ndi-service/revisions/d9d1f8ec2207?raw)
