Skip to main content
POST
Make a structured decision

Authorizations

Authorization
string
header
required

Enter your MeshAPI key (rsk_...) or, for the admin-keys endpoints, a dashboard session token — sent as Authorization: Bearer <token>.

Headers

X-Mesh-Version
enum<string>
default:2026-08

Dated version of the API contract to pin this request to. Omit it and the request is served under 2026-08 — the oldest supported version, so an existing integration is never moved by a release. A malformed or unsupported value is rejected with 400 invalid_api_version rather than falling back silently. The version actually served is echoed as X-Mesh-Version on every response, including errors.

Available options:
2026-08,
2026-09

Body

application/json

Request body for POST /v1/evaluate.

model
string
required

Which model decides. Use an id from GET /v1/models.

state
required

The application state to judge — free text, or any JSON object or array. Every question is answered against this same state.

questions
Questions · object
required

The questions to answer, keyed by your own name for each. Those names are the keys of the answers you get back.

tags
Tags · object | null

Your own labels for this request, echoed back on the usage row and available as a filter and a group-by dimension in the usage API. String keys to string values. Never put personal or sensitive data here — tags are stored with the usage record and are not redacted.

Example:
safety_identifier
string | null

A stable, anonymised identifier for the end user making this request, recorded on the usage row and available as a filter and a group-by dimension in the usage API. Supersedes the deprecated user field. Use an opaque id, not an email address or a name.

Maximum string length: 256

Response

Typed answers, one per question

Response body for POST /v1/evaluate.

id
string
required

This evaluation's id, eval_ followed by 24 hex.

model
string
required

The model id you asked for, not the provider's.

answers
Answers · object
required

One answer per question, keyed by the names you sent.

usage
EvaluateUsage · object | null

Tokens as the provider reported them — what the request is billed on.