---
title: "Check a piece against the written standards"
method: POST
path: "/v3/compute/standards"
tags: ["Compute"]
---

# Check a piece against the written standards

`POST /v3/compute/standards`

## Request

- Base URL: `https://api.rhinoartisan.com`
- URL: `https://api.rhinoartisan.com/v3/compute/standards`
- Auth: API key in header `apikey`
- TypeScript: <https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/docs/v3/compute/standards/post.ts> (a function with typed inputs; its response is checked against the schema)

Asks a model whether the record about to be computed (over the last resolved piece, if any) breaks the organization's design standards, the production manufacturer's manufacturing standards or the capsule's own rules. Returns findings with the key to change, the proposed value (already within the capsule's schema and Studio UI rules; null when the UI fixes that key) and the rule quoted verbatim. Nothing is applied here: the Studio applies the proposals before computing and reports them in the chat. Call it only when a key of the gate (GET /v3/compute/standards/gate) changed. `checked` is false, without calling the model, when there are no standards (NO_STANDARDS) or no OpenRouter key (OPENROUTER_KEY_MISSING).

## Request body

- object
  - `capsule_id` integer, required: Knowledge Capsule of the caller's organization.
  - `values` object, required: The record, as sent to /v3/compute/solve.
  - `resolved` object: `values_resolved` of the last solve, if any (the record overrides it).
  - `tech` object: `tech` of the last solve, if any.
  - `changed_keys` string[]: Schema keys the user changed since the last check (empty on the first check).
  - `lang` string, nullable: Language code for the findings' `reason` ("es", "en"…); English when missing.

## Response `200`

{checked, reason?, findings: [{key, current, proposed, rule, source: design|manufacturing|capsule, severity: must|should, reason}]}

## Other responses

- `400`: INVALID_PAYLOAD, MISSING_CAPSULE, INVALID_VALUES or CAPSULE_REQUIRES_ORGANIZATION
- `404`: CAPSULE_NOT_FOUND
- `502`: The model failed

## Changes

- **2026-10-28** `0b0f42d9c532`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/rhinoartisan/apis/rhinoartisan-api/changes/v3/compute/standards/post.md)

---

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