Skip to main content
Use POST /v1/systemone when you need a decision rather than prose: route a ticket, gate an agent’s action, score a document against a rubric. Send a state (a string, or structured JSON) and a map of typed questions; the response returns one typed answer per question, with probabilities and confidence your code can act on directly. The endpoint mirrors TypeSafe AI’s native System One API exactly. If you already use the official TypeSafe SDK, point TYPESAFE_BASE_URL at https://api.impossibl.com and use your impossibl key — no code changes.

Evaluate a state

The response has this shape; values depend on your input:

Question types

Every question has a type and instructions. instructions — and every criteria value — can be a string or JSON structure (object or array) when the content is already structured. Answers come back under the same ids you chose for the questions. Ask every question your code might need in one request — they are evaluated in parallel and share one token budget.

Models and billing

Discover supported models with GET /v1/models: evaluation models have output_modality: "evaluation" and endpoints: ["/v1/systemone"]. typesafe-ai/jev is billed at 0.042permillioninputtokens(0.042 per million input tokens (42 per billion). The usage.output_tokens TypeSafe reports are not charged. The response model names the concrete version that answered (jev-1.13.0), as TypeSafe’s own API does. Results and charges appear in the same request log and usage ledger as other API calls.

Limits

state and questions are required, and questions must hold at least one entry. The state and all questions share a budget of roughly 32,000 tokens (about 150,000 characters of English). A choice without criteria, or a score with fewer than two levels, returns 400 before anything is sent upstream. Evaluation is non-streaming and uses the gateway’s provider credentials (there is no BYOK path). Requests require an API key and sufficient credits. Sending this model to a chat, embeddings or rerank endpoint returns 400 with the correct /v1/systemone destination.