Create decision
Ask a decision model one or more typed questions about a piece of state. The model returns a
probability for each question instead of text. The request and response use the OpenRouter Decisions
schema. Jev (typesafe/jev-1.13) is the first decision model. Any model with is_classifier_model: true
in GET /models works here. Chat models are refused with model_unavailable. Send those to
POST /chat/completions.
You choose the question ids. The answers come back under the same ids. There are three question types:
noulis a yes/no question. The answer isnoul, the probability of yes.criteria.trueandcriteria.falseare optional descriptions of each side.choicepicks one option fromcriteria, a map of option id to description. A description may benull. The answer ischoice,probabilitiesover every option, andconfidence.scoreplaces the state on the ordered rubric incriteria, a list with the lowest level first. The answer isscore(the weighted position),probabilitiesper level,legend, andconfidence.
state, instructions and criteria accept a string, a JSON object, or an array. The response model
is the exact version the provider served, for example typesafe/jev-1.13-20260917. Billing uses the
model you requested. There is no streaming form. The server applies its zero-data-retention provider
policy after any provider preferences you send.
Billing
Each call charges the caller’s credit balance from the provider-reported cost, or from the model’s token rate when the provider reports none. A call costs at least one credit, so put every independent question about one piece of state in a single request.
Authorizations
Query Parameters
Scope the request to a team. When omitted, uses the authenticated user's default organization.
Body
Decision model id. Use an id from GET /models whose is_classifier_model is true.
"typesafe/jev-1.13"
The content to evaluate. A plain string, or a JSON object or array of related context.
Questions keyed by ids you choose. Answers come back under the same ids.
OpenRouter provider routing preferences. The server applies its zero-data-retention policy last. You cannot turn it off.
Groups related requests in observability tooling. Not sent to the model.
256Observability metadata (trace_id, trace_name, span_name, generation_name, parent_span_id, plus custom keys).
A stable id for your end user. The provider uses it for abuse monitoring.
Response
One answer per question, under the question's id.