POST https://router.requesty.ai/v1/systemone. It is built for decisions: you send the content and your questions, and you get typed answers back as plain JSON. No messages to build, no answer string to parse.
Get your API key in the Requesty Console.
Models
GET /v1/models/decision returns the full, current list of models the Decisions endpoint serves.
How it works
A decision request has three fields:model: a decision model id, with its provider prefix.state: the content to evaluate, as a string.questions: a map of question id to question definition.
answers object with one entry per question id. Every answer carries a type field matching the question type, or "refusal" when the model declines to answer that question, so check type before reading the value. Responses are not streamed.
Question types
Decision models support three question types. You can mix them freely in one request; each question is answered independently.noul: yes / no
A noul question asks whether a statement about the content is true. The answer is a probability between 0.0 and 1.0.
choice: pick one option
A choice question picks one of several labelled options. criteria maps each option key to a description of when it applies. The answer contains the winning key in choice, plus probabilities for every option and the overall confidence.
score: position on an ordered scale
A score question places the content on an ordered scale. criteria is a list of labels from lowest to highest. The answer is the zero-based index of the chosen label in score, with probabilities keyed by index, a legend mapping indices back to labels, and the overall confidence.
Examples
The examples below ask all three question types about the same book review usingtypesafe/jev-1.14.0. Set model to any id from the Models table to use another decision model. Swap in your own content and questions.
Decisions endpoint (recommended)
Sendstate and questions to /v1/systemone and read answers from the response.
- Python
- TypeScript
- cURL
cloudflare/clef or openai/gpt-6-luna, add them in assets, as JSON or as a multipart upload. See Create System One Decision for the full reference.
Other APIs
If your tool can only call Chat Completions, Messages or Responses, you can still reachtypesafe/jev-latest, cloudflare/clef and perplexity/pplx-decider-v1-27b through them. Prefer the Decisions endpoint whenever you can: these APIs were built for text generation, so the answers come back as a JSON string inside the assistant message that you have to parse, and openai/gpt-6-luna and azure/decision-1 are not available here.
On these APIs, the content to evaluate goes in one or more user messages (several are joined with blank lines) and the questions go in the response format field as {"type": "questions", "questions": {...}}.
Chat Completions API
Pass the questions inresponse_format.
- Python (OpenAI SDK)
- TypeScript
- cURL
Messages API
Pass the questions inoutput_config.format.
- Python (Anthropic SDK)
- TypeScript
- cURL
Responses API
Pass the questions intext.format.
- Python (OpenAI SDK)
- TypeScript
- cURL
Approved models
If your organization uses Approved Models or access lists, approval is checked per API:- Decisions endpoint: the model must be approved under Decisions in the Model Library.
- Chat Completions, Messages and Responses: the model must be approved as a chat model. Approving it under Decisions is not enough.
403 on the other one. If you call the same model through both, approve it in both places.
Usage and billing
Decision model responses report input and output tokens in the usualusage block, and requests are priced and logged like any other model. See Cost Tracking and Logs.
Errors
Related
- Create Decision and Create System One Decision for the dedicated Decisions API, including how to send images
- Structured Outputs for schema-constrained JSON from general-purpose models
- Supported Models