Decisions
Ask typed questions about your app state and get calibrated probabilities back.
The Decisions API runs decision models such as TypeSafe's Jev. You send some state and one or more typed questions about it. Instead of generated text, you get back typed answers with calibrated probabilities that your code can branch on directly.
POST /v1/decisionsDecision models are not chat models. They never return prose, reasoning, or explanations. Use them anywhere a predictable, typed answer matters more than generated text.
What you can do
- Routing - send a ticket to the right team with a
choicequestion. - Classification and moderation - flag content with
noul(yes/no) questions. - Rubric grading - place a response on an ordered scale with
score. - Verification - check that an agent's output matches what was asked before acting on it.
Ask several questions in one request. They are answered in parallel against the same state and cannot see each other's answers.
Browse available models at Models.
Endpoints
| Method | Endpoint | Description |
|---|---|---|
| POST | /v1/decisions | Create a decision |
Every endpoint expects a bearer token in the Authorization header.
Create keys at Manage API Keys.
Pricing
Decision models bill input tokens only. The state and the questions both
count toward input tokens. Output tokens are reported in usage but priced
at zero.
Errors
All errors follow the OpenAI structured shape:
{ "error": { "type": "invalid_request_error", "message": "..." } }| Status | error.type | Meaning |
|---|---|---|
400 | invalid_request_error | Schema violation. |
401 | authentication_error | Missing or invalid API key. |
402 | billing_error | Account out of credit or hit a spend limit. |
429 | rate_limit_error | RPM exceeded. Respect Retry-After. |
500 | internal_server_error | Unexpected gateway failure. |