On this page
The OpenAI Decisions API answers a fixed question, such as "which department handles this complaint?", with a probability, a pick from your list, or a score. OpenAI released it in public beta on 6 October 2026, on one model: GPT-6 Luna. On DecideBench, our public test of 400 decisions, it got 97.2% right. Its prompts ran about 530 tokens each, so a million decisions cost $52.82.
- What it is: a separate endpoint,
POST /v1/decisions, that returns typed answers instead of generated text. - Model: GPT-6 Luna, sent as
gpt-6-luna, a model OpenAI released on 22 September 2026. The endpoint runs no other. - Price: $0.10 per million input tokens (a token is about three quarters of a word). Output, cache reads and cache writes are free.
- Status: public beta. OpenAI says it expects general availability "in the coming weeks".
- Our measurement: 97.2% right on 400 decisions. A million decisions cost $52.82.
- Data controls: eligible customers get zero data retention and can process health records under HIPAA, the US health-privacy law.
What is the OpenAI Decisions API?
The Decisions API is how OpenAI sells a decision model, a model built to make one call, such as approve this refund or not, rather than to write text. You send evidence and a question, and the endpoint sends back an answer your code can act on without parsing. It joins a category that TypeSafe named "System One" when it launched Jev on 15 September 2026. What is Jev covers that idea from the start.
A chat model writes an answer that you then have to read. A decision model picks from answers you wrote in advance and says how likely each one is. That suits work where the possible outcomes are known: which team gets a ticket, whether a photo shows damage, how severe a bug is. Decision model vs LLM explains when that beats a chat call.
OpenAI's docs describe the uses as classifying content, routing requests and prioritising work. Unite.AI's launch report adds choosing an agent's next action. For the other models in this category and how they score, see the best Jev alternatives.
How does the OpenAI Decisions API work?
You send one request with three fields, model, input and questions, and get back an answers array with one typed answer per question. The input is the shared evidence: a text string, or a user message that mixes text and images.
Each question has a name, which the response echoes back. It also has one of three types.
| Type | Use it for | What comes back |
|---|---|---|
predicate | A yes-or-no condition, such as visible damage | probability: 0 to 1 that the condition is true |
choice | One option from a list without an order, such as a department | choice, a probabilities array, and confidence |
score | A position on ordered levels, such as severity | score, the probability-weighted average of the level numbers, plus probabilities and confidence |
The request below, from OpenAI's Decisions guide, routes a complaint to a department:
curl https://api.openai.com/v1/decisions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"input": "I was charged twice for my order.",
"questions": [{
"type": "choice",
"name": "department",
"instructions": "Which department should handle this complaint?",
"choices": [
{"value": "billing", "description": "Payments, invoices, and refunds."},
{"value": "technical", "description": "Problems using the product."},
{"value": "shipping", "description": "Delivery and tracking."},
{"value": "other", "description": "Requests outside these categories."}
]
}]
}'The guide's illustrative answer is billing, with a probability of 0.95 and a confidence of 0.93. It advises a fallback option such as other, so inputs that fit no category go to a review queue.
A score can land between levels. Levels are numbered from 0. In the guide's severity example, the middle level gets 70% of the probability, and the score comes out at 1.1. If you want a single level, the guide says to use choice.
Three details from the guide matter when you build.
- Several independent questions can share one request. A product photo can be checked for damage and sorted by category in the same call.
- Dependent questions need separate requests. Check for damage first, then ask about the repair.
- Any answer can be a refusal. The SDK examples check for a
refusaltype before reading the result.
How much does the OpenAI Decisions API cost?
The OpenAI Decisions API costs $0.10 per million input tokens, and nothing else: no output charge, no cache-read charge, no cache-write charge. Regional processing premiums and long-context multipliers still apply, and the guide does not list their amounts.
A per-token price only becomes useful once you know how many tokens a decision takes. On DecideBench, each request carried about 530 input tokens, because every item came with worked examples: one solved example for each answer option, sent with every question. That came to $52.82 per million decisions. Without worked examples, requests fell to about 245 tokens, which the benchmark card estimates at about $25 per million decisions.
| Cost | |
|---|---|
| With worked examples (about 530 tokens) | $52.82 |
| Without worked examples (about 245 tokens, estimate) | $25 |
Source: DecideBench v1.1, measured 8 October 2026
The worked examples bought almost nothing. Accuracy was 97.2% with them and 97.0% without, a gap of one item in 400. So the cheaper setup is the one to try first, then add worked examples only where your own labelled cases show they help.
The same model costs more through the general API. OpenAI's changelog lists Luna at $0.10 per million input tokens and $0.50 per million output tokens on the Responses and Chat Completions APIs. The Decisions endpoint drops the output charge.
How accurate is the OpenAI Decisions API?
On DecideBench, our own public benchmark, the Decisions API got 97.2% of 400 decisions right. That is second among the decision models we test. The items come in contrastive pairs: two cases that differ by one detail that flips the answer, such as a refund requested on day 30 vs day 31 of a 30-day window. Luna got both halves right in 94.5% of pairs. Three general chat models scored higher, but each costs at least 3.6 times as much. TypeSafe's Jev scored 98.0%. The head-to-head is in OpenAI Decisions API vs Jev, and how to test a classifier explains why we score pairs.
When should you use it instead of a chat completion or structured outputs?
Use the Decisions API when every acceptable answer is known in advance: a route, a label, a yes or no, a severity level. Use a chat completion or structured outputs when the answer has to be written.
OpenAI's guide draws the same line. It sends you to Structured Outputs when you need extracted fields or a written explanation. It sends you to function calling when the model should call a tool.
| Job | Better fit |
|---|---|
| Route a ticket to one of five queues | Decisions API, choice |
| Flag a post that breaks a written policy | Decisions API, predicate |
| Rate a bug's severity on a three-level scale | Decisions API, score |
| Pull an invoice number and total from a PDF | Structured outputs |
| Explain why a refund was refused | Chat completion |
The probabilities are the other reason to pick it. A chat model's answer comes without a usable confidence. A decision model's answer has one, so you can act on the confident answers and send the rest to a person or a larger model. LLM cascade walks through that setup, and decision model vs LLM puts numbers on the trade between a small decision model and a chat model.
What are the limits of the OpenAI Decisions API?
The Decisions API is a beta with one model, strict image rules and an unproven speed claim.
- Public beta. OpenAI expects general availability "in the coming weeks" and gives no date.
- One model. You cannot swap in a larger model for hard cases inside this endpoint.
- Images must be base64 data URLs. Hosted image links and uploaded files are not accepted.
The probabilities come with no calibration claim. Calibration means adjusting the confidence scores so a 90% answer is right about 90% of the time, and the guide promises no such thing: it calls a predicate's probability "an estimate". Instead it tells you to set thresholds from labelled examples in your own application, weighing what each kind of mistake costs.
The speed figure is OpenAI's. The guide says the endpoint answers "about 10x faster than the Responses API". Unite.AI reports the claim with no published benchmark or method, and we found none either.
Our own latency reading does not settle it. DecideBench recorded a 126 ms median for Luna, the lowest of any hosted entry. That run went from a cloud data centre, while the other hosted entries were timed from one client machine. Jev and Clef were called through AI Space, our gateway, so the gateway's own time is included in their numbers. So the 126 ms is not a like-for-like comparison yet.
We tested short text only. DecideBench's 400 items each have three to six options, with no images and nothing long enough to trigger the long-context multiplier.
FAQ
Is the OpenAI Decisions API free?
No. It charges $0.10 per million input tokens. What it drops is the rest of the bill: there is no charge for output tokens, cache reads or cache writes. On our 400-decision benchmark that came to $52.82 per million decisions with worked examples, and about $25 per million decisions without them. Regional and long-context multipliers can raise the price.
Which models does the Decisions API support?
Only GPT-6 Luna, sent as gpt-6-luna. OpenAI's guide calls it "the only model currently available". Luna itself was released on 22 September 2026 and is also available through the Responses and Chat Completions APIs, where output tokens are billed at $0.50 per million.
Is the Decisions API faster than the Responses API?
OpenAI says it is "about 10x faster". It has not published how it measured that. Our benchmark recorded a 126 ms median per decision. It was timed from a different place than the other hosted models we test, so we do not treat it as a fair comparison yet. Time it from your own servers before relying on it.
Can the Decisions API read images?
Yes. A user message can combine text and images, so one request can inspect a product photo and answer several questions about it. Images must be sent inline as base64 data URLs. Links to hosted images and uploaded files are not accepted by this endpoint.
Can I trust the probabilities it returns?
Treat them as scores to threshold, not as guarantees. OpenAI's guide makes no calibration claim, meaning it does not say that a 0.9 answer is right 90% of the time. It tells you to set thresholds using labelled examples from your own application.
Sources
- OpenAI, Decisions guide, accessed 14 October 2026
- OpenAI, API changelog, entries for 22 September and 6 October 2026
- OpenAI, Structured Outputs guide, accessed 14 October 2026
- Unite.AI, OpenAI Releases Decisions API in Public Beta, Powered by GPT-6 Luna, 6 October 2026
- XY Space, DecideBench dataset and results, v1.1, accessed 14 October 2026
- XY Space, DecideBench leaderboard, accessed 14 October 2026
- XY Space, DecideBench changelog, entry for 8 October 2026
- TypeSafe, Introducing System One Models and Jev, 15 September 2026
Written by
Cho Yin Yong
Principal AI Solutions Engineer, XY Space
Principal AI Solutions Engineer at XY Space. University of Toronto lecturer for five years, co-author of two patents, winner of two competitive AI awards, and nine years of regulated engineering leadership.
More from Cho Yin YongShare this article
Work with us
We build the systems these posts describe, and we'll tell you in the first call whether yours is worth building.
Start a project