Each route serves one type of model. A chat model reasons and writes; a decision model evaluates your input against the answer types you define and returns calibrated probabilities, never text. Here auto, *, a tier and a name all reach decision models alone. Chat and decision models follow the two systems of Daniel Kahneman’s Thinking, Fast and Slow: a decision model is System One and a chat model System Two, which is why /models/two answers as /models/chat does.
Body
The body is the one Call a model takes, with systemPrompt as an array of questions. A decision takes no streaming, tools or responseSchema.
- systemPromptQuestion[]Required
- The questions, at least one.
- namestringRequired
- Unique in the request. The answer comes back under it.
- typestringRequired
- The kind of answer.
booleanchoicescore - instructionsstringRequired
- What the model is asked.
- criteriaobject | string[]Required
- What each answer means: a boolean explains true and false; a choice gives at least two values, each with what it means; a score lists two to ten levels, lowest first.
- messagesMessage[]Required
- What the questions are about. A decision reads the user’s messages only.
- modelstring | objectDefault
auto - Which decision models may answer, as on Call a model.
- models(string | object)[]
- Several selectors, tried in order.
- prioritizationobject
- Which providers lead and which serve nothing, zdr, zero data retention, deprecated and maxAge, as on Call a model.
- keysobject
- Your own provider keys for this call.
- fileProcessingobjectDefault
{ "type": "none" } - Whether an attached file is converted to text first. Under zero data retention, anything but none is refused with 400.
Response
- typestring
- decision
- modelobject
- What served the call: name, tier, publisher and provider.
- answersAnswer[]
- One per question, in the order asked.
- namestring
- The question answered.
- typestring
- boolean, choice or score.
- refusedboolean
- true where the model declined the question.
- probabilitynumber
- For a boolean: the probability that the answer is true.
- choicestring
- For a choice: the value chosen.
- scorenumber
- For a score: the probability-weighted level, counted from 0.
- confidencenumber
- For a choice or a score: how concentrated the probabilities are. Absent where the model reports none.
- probabilitiesobject
- For a choice, by value; for a score, by level index.
- usageobject
- The provider and the tokens it counted.
Errors
Failures are problem documents, as on Call a model. The messages particular to a decision: