OpenAI released the Decisions API in beta on 6 October 2026, per OpenAI's developer changelog. The Decisions guide bills it at $0.10 per 1M input tokens with no output-token charge. It runs on one model, gpt-6-luna, and returns typed answers instead of generated text. If you run high-volume classification, routing or triage calls through a general chat model, the question is whether to move them, whether a beta can carry production traffic, and whether the data terms fit yours.
What the Decisions API does
The changelog entry reads: "Released the Decisions API in beta with gpt-6-luna. Turn text and images into typed answers 10x faster than the Responses API." The 10x figure is OpenAI's claim, and the guide words it "about 10x". We found no baseline, method or independent latency measurement, so treat it as OpenAI's unverified claim until you've timed it on your own traffic.
OpenAI's Decisions guide says the API evaluates text, images or both and returns "the probability that a condition is true, a choice from a fixed set, or a score against a rubric." Those map to three question types. A predicate returns a probability from 0 to 1. A choice picks one of the values you supply. A score returns "the probability-weighted average of the level indices" of a rubric you define.
The request has three parts: model (only gpt-6-luna is supported), input (a text string or user messages with text and images) and questions. You call the dedicated POST /v1/decisions endpoint. SDK minimums are Python 3.26.0, JavaScript 7.30.0, Go 3.73.0, Ruby 0.101.0 and Java 4.78.0.
Because you get probabilities, not labels, you pick the cut-off. OpenAI's advice is to use labeled examples from your application to set thresholds, "based on the cost of false positives and false negatives." That's the real work, and no pricing page does it for you.
What it costs
Decisions bills input tokens only. The guide states there are "no cache-read, cache-write, or output-token charges." Regional processing premiums and long-context multipliers still apply, and the rates apply to /v1/decisions only. Other gpt-6-luna requests follow normal model pricing.
OpenAI's pricing page doesn't list /v1/decisions as its own row, so the Decisions rate comes from the guide. Here's how the numbers line up per 1M tokens.
| Route | Input | Output |
|---|---|---|
| Decisions API, gpt-6-luna | $0.10 | none |
| gpt-6-luna via Responses, short context | $0.10 | $0.50 |
| gpt-6-luna via Responses, long context | $0.20 | $0.75 |
| gpt-6.1-sol via Responses | $2.00 | $10.00 |
| gpt-6-astra via Responses | $10.00 | $50.00 |
Sol and Astra are short-context rows. For how those two compare, see our breakdown of how GPT-6.1 Sol is priced against Astra.
Two things we're deriving, not quoting. First, a regional premium of 10% on a $0.10 rate is $0.11, which is arithmetic from the premium OpenAI lists, not a published Decisions price. Second, the pricing page lists Batch, Flex and Fast rows for luna, but nothing says they apply to /v1/decisions, so don't budget for them.
Now an illustrative example, not a measurement. Take 1,000,000 requests of 1,000 input tokens each. That's 1B input tokens, or $100 on Decisions. The same input on gpt-6-luna via Responses is also $100, plus output. If each request produced 300 output tokens, that's 300M tokens at $0.50 per 1M, another $150 ($100 + $150 = $250). The saving is the output bill, and it's only as big as your output and reasoning tokens are today. If your classifier already returns a single label, it's small. We can't know your number, and we won't pretend otherwise.
Beta status: what to build on it now
The guide says: "The Decisions API is in public beta, and we expect to GA in the coming weeks." It's a beta, one model is available, and the changelog showed no GA entry as of 9 October 2026.
Our judgment: prices, limits and eligibility lines on a beta can change at GA, so don't sign anything that assumes today's page is permanent. What you can do safely is shadow-run. Label a test set from your own traffic, run the current classifier and Decisions side by side, set thresholds from the labeled examples as OpenAI suggests, and keep the current path as a fallback. Dependent decisions need separate requests, per the guide: "For decisions that depend on an earlier answer, send separate requests."
ZDR, HIPAA and EU data: what OpenAI's pages say
Everything here comes from OpenAI's data controls page, read on 9 October 2026. Its /v1/decisions row says:
- Data used for training: "No".
- Abuse monitoring retention: "30 days".
- Zero Data Retention eligible: "Yes, see below for limitations".
- Private Retention with PSP and Safety Retention eligible: "Pending confirmation".
ZDR isn't automatic. The page says "these controls are subject to prior approval by OpenAI and acceptance of additional requirements," and you contact sales. Image inputs carry an exception: the CSAM-scan retention applies "even if Zero Data Retention, Modified Abuse Monitoring, or Private Retention with PSP is enabled."
For HIPAA, the page says the API "is eligible for HIPAA use under an executed OpenAI Business Associate and Healthcare Addendum, subject to the applicable account configuration requirements." For the signing steps, read what the self-serve API BAA covers. That article's endpoint list doesn't include /v1/decisions, so check your own agreement.
EU residency is listed: regional processing in the United States and Europe (EEA + Switzerland). Outside the US, "you must be approved for abuse monitoring controls, and execute a Modified Retention amendment." Residency endpoints carry a 10% uplift, and the page says residency "does not apply to system data" such as account and usage data. The passages quoted here don't say "GDPR compliant" or "HIPAA compliant," and we won't either.
When to use Decisions, Structured Outputs or function calling
OpenAI draws the line itself. The same guide says to use Structured Outputs with the Responses API "when you need to generate an object that follows your own JSON schema, such as extracted fields or a written explanation, or function calling when you need a model to request a tool call with arguments."
So Decisions is for yes/no probabilities, fixed-set choices and rubric scores. If you need extracted fields, an explanation or a tool call, stay on Responses. Our guide to building an AI feature on the Responses API covers that side. Nothing in OpenAI's pages says Decisions replaces it.
What this means for your classification and routing spend
The decision is whether to point support routing, content flags or document triage at a $0.10 input-only endpoint that's still in public beta. The saving is real only if output and reasoning tokens make up a large share of what those calls cost today. Pull a month of usage, split input from output, and run the $100 versus $250 arithmetic above with your own numbers.
Our judgment: prototype and shadow-run now, but make no production commitment until GA. Don't make a compliance claim until your own account shows ZDR or EU residency enabled, since ZDR needs OpenAI's approval and the PSP cell reads "Pending confirmation." If a risk reviewer signs off on your data flows, hand them the data controls rows above, not this article.
For the rest of our coverage of AI in software engineering, see AI coding agents and what the research actually shows.
FAQ
Is the OpenAI Decisions API generally available?
No. OpenAI's guide says it's in public beta and expects GA "in the coming weeks." The changelog showed no GA entry as of 9 October 2026.
How much does the OpenAI Decisions API cost?
$0.10 per 1M input tokens on gpt-6-luna, with no cache-read, cache-write or output-token charges. Regional processing premiums and long-context multipliers apply.
Is the Decisions API eligible for zero data retention and HIPAA?
OpenAI's data controls page marks ZDR as "Yes, see below for limitations," subject to OpenAI's prior approval. HIPAA use requires an executed Business Associate and Healthcare Addendum plus the right account configuration.
Does the Decisions API support EU data residency?
Yes, regional processing is listed for Europe (EEA + Switzerland). You need abuse-monitoring-controls approval and a Modified Retention amendment, and a 10% uplift applies.
What is the difference between the Decisions API and Structured Outputs?
Decisions returns probabilities, choices and scores. Structured Outputs on Responses generates objects that follow your own JSON schema, such as extracted fields or a written explanation.
