---
title: "Create an evaluator binding"
method: POST
path: "/v1/evaluator-bindings"
tags: ["evals", "evals"]
---

# Create an evaluator binding

`POST /v1/evaluator-bindings`

## Request body

- EvaluatorBindingCreate — Create a binding scoped to either a scenario or an agent. The ``scope`` discriminator must match the populated id: scope='scenario' requires ``scenario_id`` and forbids ``agent_id`` (and vice-versa). ``is_critical=True`` marks this binding's runs as load-bearing for the session's headline success/partial/failure verdict. Non-critical bindings still run and display, but don't move the session pill.
  - `evaluator_id` string, uuid, required
  - `scope` 'scenario' | 'agent', required
  - `scenario_id` string, uuid, nullable
  - `agent_id` string, uuid, nullable
  - `is_critical` boolean

## Response `201`

Successful Response

- EvaluatorBindingResponse
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `evaluator_id` string, uuid, required
  - `scope` string, required
  - `scenario_id` string, uuid, nullable, required
  - `agent_id` string, uuid, nullable, required
  - `is_critical` boolean, required
  - `created_at` string, date-time, required

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/versions/888bdd5c076e/schema)
