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

# Create Eval

`POST /api/platform/v1/evals`

## Request

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

Create a custom eval — a configured grading pipeline (declared input fields + cases + graders) stored for your workspace. Use when the built-in graders don't fit and you want your own scored report card. Pass slug, name, input_schema, and cases; the whole definition is validated and you get back the new eval's slug + id, or a structured validation_failed with the exact field errors. Built-in slugs are reserved.

## Request body

- object
  - `slug` string, required: kebab-case identifier, unique in your workspace.
  - `name` string, required
  - `description` string
  - `version` string: semver, default 1.0.0.
  - `input_schema` object: Declared run-input fields ({ fields: [...] }).
  - `cases` object[], required: Cases: each a subject + its graders.
  - `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 `201`

Created

- object
  - `data` object, required
    - `success` 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)
