---
title: "Validate Eval"
method: POST
path: "/api/platform/v1/evals/validate"
tags: ["observability"]
---

# Validate Eval

`POST /api/platform/v1/evals/validate`

## Request

- Base URL: `https://docs.amdahl.ai`
- URL: `https://docs.amdahl.ai/api/platform/v1/evals/validate`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Dry-run validate a custom eval definition without storing it. Use when building an eval in a form and you want author-time feedback before saving: it runs the same structural checks as creating one (input-schema shape, subject-to-input-field integrity, per-grader config) and returns valid plus a flat list of path + message errors. Never writes anything.

## Request body

- object
  - `slug` string, required
  - `name` string, required
  - `description` string
  - `version` string
  - `input_schema` object
  - `cases` object[], required
  - `reliability` object: Required for any grader that reports a MAGNITUDE (judge / evidence_judge / improvement_loop): the measured flip rate and the floor a reported lift must clear. Validation refuses without it, so declare it rather than discovering the refusal.

## Response `200`

OK

- object
  - `data` object, required
    - `valid` boolean, required

## Other responses

- `400`: Invalid input - failed schema validation
- `401`: Authentication required
- `403`: Forbidden - missing scope or role
- `500`: Internal server error

---

[API](https://skmtc.dev/amdahl/apis/amdahl-platform-api.md) · [All operations](https://skmtc.dev/amdahl/apis/amdahl-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/amdahl/apis/amdahl-platform-api/revisions/d4eee33e2472?raw)
