OpenAI's Decisions API Is Generally Available. GA Still Comes With No Calibration Number, Only Customer Quotes Saying "Comparable Accuracy."
OpenAI marked the Decisions API generally available on October 22, still on gpt-6-luna only, still $0.10 per million input tokens with output free. New since the beta: prompt caching, up to 400 questions per request, hosted image URLs, and residency options. OpenAI still publishes no calibration data; the GA post cites five customer quotes instead. Two days earlier it added a 12-hour prompt-cache tier whose writes cost 2.5 times input, which only pays if you would otherwise rewrite the same prefix twice. We read the changelog, the guide, and the pricing docs.
By T.W. Ghost
Sixteen days after it opened the Decisions API to public beta, OpenAI marked it generally available today, October 22, 2026. The price did not move: $0.10 per million input tokens, output free, cached input at $0.01 per million. The model did not move either: gpt-6-luna is still the only one. What moved is the feature list, and what did not move is the thing we flagged in the beta post, which is that OpenAI has never published a number for how well calibrated the probabilities it returns are.
The GA post's accuracy evidence is five customers (Box, Datadog, Ramp, Sierra, and Speak) saying the endpoint gives them the same or comparable accuracy to what they had. Those are quotes. A calibration curve is a number. The GA post has the first kind and not the second.
Two days earlier, on October 20, OpenAI added a 12-hour prompt-cache tier to the Responses API, and the same caching lands in the Decisions guide, so this post covers both. We read the API changelog, the Decisions guide, the prompt-caching guide, and OpenAI's GA post. Here is what held up.
What GA Adds, and What It Does Not
| Decisions API at GA (Oct 22) | |
|---|---|
| Model | gpt-6-luna only |
| Price | $0.10 per 1M input; output free; cached input $0.01 per 1M |
| Questions per request | 400 (beta: 200) |
| New | Prompt caching (30-minute and 12-hour writes per the guide); per-question images; input_json; hosted image URLs; conversation and tool history; usage reporting; Private Link; US and EU residency; zero data retention for eligible customers |
| Calibration data from OpenAI | None |
How confidence is computed | Undocumented |
| Accuracy evidence on the GA post | Customer quotes: Box, Datadog, Ramp, Sierra, Speak |
Hosted image URLs settle a beta contradiction. In October's beta docs, the guide said base64 only while the SDK docstrings said hosted URLs worked. GA resolves it in the SDK's favor.
Caching now exists, and it has a price. In the beta, "cache tokens free" meant there was no cache. At GA there is one, with 30-minute and 12-hour write options, which brings in the tier change below.
The 12-Hour Cache: a Write Tax, Not a Discount
OpenAI's October 20 changelog added prompt_cache_options.ttl: "12h" on the Responses API for GPT-5.6 and later models. The arithmetic from the prompt-caching guide:
| Cache operation (Responses API, GPT-5.6 and later) | Multiple of input price |
|---|---|
| Default 30-minute write | 1.25x |
| 12-hour write | 2.5x |
| Cache read | 0.1x (0.05x on GPT-6.1 Sol) |
Three consequences:
- One 12-hour write costs two 30-minute writes. The long TTL only pays if the prefix would otherwise expire and be rewritten at least twice in those 12 hours. If your traffic hits the same prefix every ten minutes, the 30-minute default never expires and the 12-hour tier is pure cost.
- 12 hours is a minimum lifetime for the read price, not a guaranteed hit. The guide's language is about the pricing tier, not a promise that the entry survives.
- Upgrading live coverage bills a full new write. Moving a prefix that already has 30-minute coverage to 12 hours is charged as a new 2.5x write with no credit for the one you paid for.
Older models were freer. Before GPT-5.6, non-ZDR organizations had extended retention up to 24 hours at no write surcharge. GPT-5.6 and later charge for the long TTL. One press error to ignore: an X trend attributed the cache change to "gpt-6-1-astra," a model that does not exist.
The Calibration Gap, Still Open
The beta post's catch was that OpenAI publishes nothing on calibration and that community tests found choice probabilities swinging with option order. GA does not close it. The GA post's evidence is customer testimony; the guide still does not say how confidence is computed (Evalgent's write-up makes the same point); and the one independent calibration study since, by Sakasegawa on image classification, measured expected calibration error between 0.024 and 0.254 depending on the task. That spread is the finding: on some tasks the probabilities are usable, on others they are not, and OpenAI's own documents do not tell you which is which.
For readers who followed the beta post: Artificial Analysis's Decision Index placed GPT-6 Luna (Decisions) mid-pack in October. Re-check that board before citing it; it moves.
Verified vs Unconfirmed: The Scorecard
| Claim | Verdict |
|---|---|
GA Oct 22, 2026; gpt-6-luna only; $0.10 per 1M input; output free; cache $0.01 | Verified (OpenAI changelog, guide, pricing) |
400 questions per request; images; input_json; residency; Private Link; ZDR for eligible customers | Verified (guide and changelog) |
| 12-hour cache TTL on Responses for GPT-5.6 and later; 2.5x write; 1.25x default write; 0.1x read (0.05x on Sol) | Verified (OpenAI docs, Oct 20) |
| Pre-5.6 models had extended retention up to 24 hours with no write surcharge | Verified (docs and changelog history) |
| OpenAI publishes calibration data at GA | Contradicted (none; customer quotes only) |
How confidence is computed | Unverified (undocumented) |
| Independent ECE 0.024 to 0.254 by task | Secondary independent (Sakasegawa) |
Who Should Use It
Use the GA endpoint if you adopted it in beta and wanted hosted image URLs, 400 questions per call, residency, or a cache; those are real and the price did not rise. Keep measuring calibration on your own task, because nobody else has done it for you.
Skip the 12-hour cache unless you can show the same prefix expiring and rewriting twice in a 12-hour window; measure prefix reuse before switching the TTL, and never upgrade a prefix that already has live coverage. Skip the endpoint entirely if your branching logic depends on the confidence field meaning something OpenAI will stand behind in writing.
The frontier is elsewhere: this is still a Luna-class model behind a fast typed interface, and the competing decision models we covered at the beta have calibration data OpenAI has not matched. Our model comparison has the current standings side by side.
Sources
- OpenAI API changelog
- OpenAI: Decisions API
- OpenAI docs: Decisions API guide
- OpenAI docs: prompt caching
- Evalgent: benchmarking decision APIs for voice agents
- Sakasegawa: OpenAI Decisions API image classification
*Not sure whether a typed-answer endpoint belongs in your routing layer? Take the free 2-minute quiz and get matched. Then read the beta post this one follows, with the calibration tests that still stand: OpenAI's Decisions API.*