---
title: "PASS, HOLD, or BLOCK from paired item-level results."
method: POST
path: "/api/gate"
---

# PASS, HOLD, or BLOCK from paired item-level results.

`POST /api/gate`

## Request

- Base URL: `https://whetstone.cyberelf.link`
- URL: `https://whetstone.cyberelf.link/api/gate`
- Auth: none declared

## Request body

- object: Compare identical baseline and candidate item cohorts under an explicit policy.
  - `baseline` object, required: item_id -> boolean pass/fail result for the baseline system.
  - `baseline_name` string
  - `candidate` object, required: item_id -> boolean pass/fail result for the candidate system.
  - `candidate_name` string
  - `domains` object: Optional item_id -> domain label mapping.
  - `policy` object: Explicit promotion policy. Omitted fields use the documented defaults.
    - `confidence_alpha` number
    - `max_regressions` integer
    - `min_gains` integer
    - `require_retained_probe` boolean
  - `retained_probe` object: Optional retained-capability result checked alongside the paired cohort.
    - `base_verified` integer, required
    - `candidate_verified` integer, required
    - `items` integer, required

## Response `200`

Deterministic receipt with item-level decision path and SHA-256 hashes.

## Other responses

- `400`: Input error (a hint points at /api/examples).
- `429`: Rate limited.

---

[API](https://skmtc.dev/cyberelf/apis/whetstone-tools.md) · [All operations](https://skmtc.dev/cyberelf/apis/whetstone-tools/llms.txt) · [OpenAPI document](https://skmtc.dev/cyberelf/apis/whetstone-tools/revisions/4c656180ee4d?raw)
