---
title: "List runs for a model"
method: GET
path: "/api/v1/model/{model_id}/run"
tags: ["assessment"]
---

# List runs for a model

`GET /api/v1/model/{model_id}/run`

## Request

- Base URL: `https://api.enokilabs.ai`
- URL: `https://api.enokilabs.ai/api/v1/model/{model_id}/run`
- Auth: none declared

List assessment runs for a model, ordered by most recent first.

## Path parameters

- `model_id` string, required

## Query parameters

- `status` string, nullable: Filter by status: running, completed, error.
- `limit` integer: Max results (1-100).

## Headers

- `Authorization` string, nullable: Bearer token with API key

## Response `200`

Successful Response

- ApiRunListResponse: Response for GET /api/v1/model/{model_id}/run.
  - `runs` ApiRunListItem[], required
    - `run_id` string, required
    - `status` string, required
    - `started_at` string, required
    - `completed_at` string, nullable
    - `findings_count` integer, required
    - `ingest_incomplete` boolean, required: True when part of this run's results is missing, because it could not be read or a safety test never ran, so `findings_count` may be lower than it should be and a release gated on it should not trust it.
    - `categories_planned` string[], required: The categories the run was asked to cover. Empty where the workspace's plan withholds a run's breakdown; read `status` to tell a cancelled run from one that finished.
  - `total` integer, required: Total number of matching runs in the workspace, ignoring `limit`. Lets paginated callers detect there is more to fetch.
  - `returned` integer, required: Number of runs in this response.

## Other responses

- `400`: Invalid status filter value
- `422`: Validation Error

---

[API](https://skmtc.dev/enokilabs/apis/enoki-external-api.md) · [All operations](https://skmtc.dev/enokilabs/apis/enoki-external-api/llms.txt) · [OpenAPI document](https://skmtc.dev/enokilabs/apis/enoki-external-api/revisions/9b13fb6ab124?raw)
