---
title: "Register an evaluation run"
method: POST
path: "/api/v1/public/evaluation-runs"
tags: ["Offline Eval"]
---

# Register an evaluation run

`POST /api/v1/public/evaluation-runs`

## Request

- Base URL: `https://app.traceroot.ai`
- URL: `https://app.traceroot.ai/api/v1/public/evaluation-runs`
- Auth: HTTP bearer

Register/start a run. Idempotent on ``client_run_id`` within an evaluation.

## Request body

- RegisterRunRequest: Register/start a run. Idempotent on ``client_run_id`` within an evaluation.
  - `baseline_run_id` string, nullable
  - `candidate_version` string, required
  - `case_count` integer, nullable
  - `client_run_id` string, nullable
  - `dataset_id` string, required
  - `dataset_version_id` string, nullable
  - `environment` string
  - `evaluation_key` string, nullable
  - `evaluation_name` string, required
  - `metadata` object, nullable
  - `scorers` ScorerRef[]
    - `description` string, nullable
    - `direction` 'higher_is_better' | 'lower_is_better' | 'none', nullable
    - `emitted_metrics` EmittedMetric[], nullable
      - `direction` 'higher_is_better' | 'lower_is_better' | 'none', nullable
      - `name` string, required
      - `threshold` number, nullable
      - `value_type` 'numeric' | 'boolean' | 'categorical', nullable
    - `key` string, nullable
    - `language` 'python' | 'typescript', nullable
    - `messages` ScorerMessage[], nullable
      - `content` string, required
      - `role` string, required
    - `metadata` unknown
    - `model` string, nullable
    - `name` string, required
    - `output_type` 'score' | 'classification', nullable
    - `required_inputs` string[], nullable
    - `scorer_type` 'llm_judge' | 'code', nullable
    - `source` string, nullable
    - `threshold` number, nullable
    - `value_type` 'numeric' | 'boolean' | 'categorical', nullable
    - `version` string, required

## Response `201`

Successful Response

- RegisterRunResponse
  - `dataset_version_id` string, required
  - `evaluation_id` string, required
  - `evaluation_run_id` string, required
  - `run_number` integer, required
  - `run_path` string, required
  - `run_url` string, required

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Not found
- `413`: Request body too large
- `422`: Validation error
- `503`: Authentication service unavailable

---

[API](https://skmtc.dev/traceroot/apis/traceroot-public-api.md) - [All operations](https://skmtc.dev/traceroot/apis/traceroot-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/traceroot/apis/traceroot-public-api/revisions/ce6aef96c0d6?raw)
