---
title: "Trigger an assessment run"
method: POST
path: "/api/v1/run"
tags: ["assessment"]
---

# Trigger an assessment run

`POST /api/v1/run`

## Request

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

Enqueues a security assessment against the specified model.

## Headers

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

## Request body

- ApiTriggerRunRequest: Request body for POST /api/v1/run.
  - `model_id` string, required: Inventory model UUID
  - `categories` string[], nullable: Focus categories (omit for full assessment)

## Response `202`

Successful Response

- ApiTriggerRunResponse: Response for POST /api/v1/run (202 Accepted).
  - `run_id` string, required
  - `model_id` string, required
  - `status` string, required
  - `started_at` string, required

## Other responses

- `400`: Invalid categories or incomplete agent config
- `403`: The workspace's assessment allowance for this lens is spent. A monthly allowance resets on the 1st (UTC) and the body carries the date; an evaluation ceiling is lifted by Enoki and never by waiting. Carries no `Retry-After` either way. An evaluation also runs full assessments only, so a request that passes `categories` there is refused with the code `trial_focus_not_included`: leave them out.
- `404`: Model not found
- `409`: Assessment already active for this model
- `422`: Validation Error
- `429`: Per-minute trigger limit, or the workspace's daily assessment budget, exhausted. Carries `Retry-After`.

---

[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)
