---
title: "Lock a hidden test from your cases; returns its id and the open practice set"
method: POST
path: "/v1/hidden"
---

# Lock a hidden test from your cases; returns its id and the open practice set

`POST /v1/hidden`

## Request

- Base URL: `https://api.reasonblocks.com`
- URL: `https://api.reasonblocks.com/v1/hidden`
- Auth: HTTP bearer

## Query parameters

- `project` string

## Request body

- object
  - `cases` object[]: {item_id, input, expected, strata?}
  - `cases_file` string: a JSONL/CSV file already in the workspace (removed after locking unless keep_cases_file)
  - `hide_inputs` boolean: hide the inputs too (then we must call your agents)
  - `uses` integer
  - `hidden_share` number
  - `scorer` string
  - `strata` string[]

## Response `201`

hidden_test_id, practice_set, hidden_inputs, uses

## Changes

- **2026-11-02** `596a08a02857`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/reasonblocks/apis/reasonblocks-control-plane-api/changes/v1/hidden/post.md)

---

[API](https://skmtc.dev/reasonblocks/apis/reasonblocks-control-plane-api.md) - [All operations](https://skmtc.dev/reasonblocks/apis/reasonblocks-control-plane-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reasonblocks/apis/reasonblocks-control-plane-api/revisions/596a08a02857?raw)
