AI DevelopmentNew Release13 min readPublished October 23, 2026

Typed answers, not prose · now generally available · input tokens only

OpenAI Decisions API Goes GA: Cost, Limits and Uses

OpenAI's API changelog records the Decisions API as generally available on October 22, 2026, with GPT-6 Luna as its only model. The beta from October 6 answered typed questions with a probability, a choice or a score. Since then OpenAI has added prompt caching, native JSON input, per-question images, conversation history, usage reporting, regional processing and a doubled question limit. For a builder who held off during beta, this is the list of what changed and what it does to the bill.

DA
Digital Applied Team
Senior strategists · Published October 23, 2026
PublishedOct 23, 2026
Read time13 min
SourcesOpenAI changelog · guide · pricing
Uncached input
$0.10/M
GPT-6 Luna · no output charge
Cached input
$0.01/M
writes $0.125 (30 min) · $0.25 (12 h)
Questions per request
400max
up from 200 in public beta
Supported models
1·
gpt-6-luna only, per the guide

On October 22, 2026 OpenAI's API changelog marked the Decisions API generally available with GPT-6 Luna, sixteen days after the public beta entry of October 6. The endpoint does one thing: given text, images or JSON and a list of typed questions, it returns a probability, a choice from your options or a score against your rubric, with no generated prose. OpenAI's own claim is that this runs up to ten times faster than asking the same model through the Responses API.

The category is not new, and we have covered it from the first router listings through the Microsoft Decision 1 comparison written against the beta. What is new is the set of production features that arrived with general availability, and three of them change the arithmetic a team did in October's first half: prompt caching on the shared evidence, native JSON input that removes a serialisation step, and a 400-question ceiling that halves the request count for a wide rubric. The rest are the ones procurement asks about: US and EU processing, a Private Link path and an organisation usage endpoint, alongside zero data retention and HIPAA support for eligible customers.

This post is written for the builder routing requests, triaging tickets, or gating an agent's next step, who skipped the beta and wants to know whether GA is the moment to adopt. It takes the changes one at a time, prices a hypothetical router with the arithmetic shown, explains how the caching rules interact with the request shape, and ends with what GA does and does not settle.

Key takeaways
  1. 01
    GA on October 22, with one model and no output charge.The changelog entry and the guide agree: gpt-6-luna is the only supported model, uncached input is $0.10 per million tokens, cached input $0.01, and output tokens are not billed. Cache writes follow the standard Luna rates, $0.125 per million for a 30-minute lifetime and $0.25 for 12 hours.
  2. 02
    Caching is the cost change, and it has a shape.An implicit cache breakpoint sits at the end of the shared input, the reusable prefix must be at least 1,024 tokens, and question content never counts. A router with a 2,000-token policy document in the prefix drops from about $245 to about $65 per million requests in our hypothetical.
  3. 03
    400 questions per request, but only independent ones.The ceiling doubled from 200. The guide says to put independent questions in one array and to send dependent decisions as separate requests, so the saving is in request count and shared evidence, not in chaining logic.
  4. 04
    A probability is an estimate, and the thresholds are yours.Predicates return a probability, choice and score return a distribution plus a confidence field, and the guide's instruction is to set thresholds from labelled examples by the cost of each kind of error. OpenAI publishes no calibration figures.
  5. 05
    GA settles the procurement questions, not the model question.Regional processing in the US and Europe, ZDR and HIPAA eligibility, Private Link and usage reporting are what a security review asks for; OpenAI lists regional processing, Private Link and usage reporting as additions since beta. What remains open is a single model, the absence of published accuracy data, and the live comparison with open decision models at lower token prices.

01 — The DeltaBeta to GA, line by line.

The Decisions guide opens with a "what's new since public beta" list, and the API changelog dates the pieces: the beta on October 6, the native GPT-Live integration on October 15, and GA on October 22. The table lays the additions out by what each one changes for an integration, because they are not all the same kind of change. Three move the bill, two move the request shape, and the rest move the compliance conversation.

OpenAI's Decisions guide "What's new" list, the API changelog entries of October 6, 15 and 22, and the launch post, all read October 26, 2026. The beta-column descriptions and "Changes" are our reading of the guide’s list of additions since beta.
AdditionBetaGAChanges
Prompt caching on shared inputNoYes, $0.01/M cached readsThe bill, for any repeated evidence
Questions per request200400Request count for wide rubrics
JSON input partStringify firstinput_json in user messagesRequest shape; no serialisation step
Images in question instructionsShared input onlyPer question, plus hosted URLsCompare-against-reference questions
Conversation history with tool callsNot listedMessages, function and custom tool calls and outputsAgent-step gating on real context
Native GPT-Live integrationNoFrom October 15Voice agents decide without a round trip
Regional processing, ZDR, HIPAA, Private LinkNot listedUS and Europe; eligible customers; private connectionThe procurement conversation
Organisation usage reportingNoDedicated usage endpoint, admin keyCost attribution per project or key

02 — Answer TypesThree answer types, and what the number means.

Nothing here changed at GA, but it frames everything that did. A predicate question returns a probability from 0 to 1 that a condition holds. A choice question returns one of your supplied values, plus a probability for every option and a separate confidence field. A score question returns the probability-weighted average of your ordered level indices, so it can land between levels: the guide's example gives probabilities of 0.1, 0.7 and 0.2 across three severity levels and a score of 1.1. The guide draws the line against Structured Outputs and function calling cleanly: use Decisions when the answer is one of these three types, Structured Outputs when you need an object in your own schema, function calling when you need a tool request with arguments.

The sentence to carry into production is the one on thresholds. The guide says to use labelled examples from your own application to set them, and to choose them by the cost of false positives against false negatives. That is a statement that the probability is a model estimate, not a measured frequency. OpenAI publishes no calibration study for the endpoint. A predicate that says 0.92 for visible damage is not telling you that 92 of 100 such photos are damaged; it is telling you the model's leaning, and the threshold at which you act on it is an empirical decision made against your data. The category explainer in our decision-models primer goes further into why that distinction matters.

predicate
Is this condition true?
Returns probability 0 to 1

Damage in a photo, relevance of a passage, a duplicate charge in a ticket against an order record. Threshold it on your own labelled set.

yes / no with a leaning
choice
Which of these options?
Returns one value, all probabilities, confidence

Department routing, content category, an agent's next action among continue, retry or clarify. Options should be unordered and distinct.

categories
score
How far along this scale?
Returns weighted average of level indices

Severity, urgency, quality against a rubric. Define adjacent levels so they differ on observable criteria; the score can fall between them.

ordered levels

03 — Cost ModelWhat a decision costs at GA rates.

The pricing page gives GPT-6 Luna's standard short-context rates as $0.10 per million input tokens, $0.01 per million cached, $0.125 per million for a 30-minute cache write and $0.25 for a 12-hour write. The guide confirms Decisions uses those rates and charges nothing for output. Long-context rows double every input and cache figure, and the guide notes that regional processing premiums apply on top. Those are the inputs; here is a hypothetical to put them to work.

A support router evaluates each incoming ticket against a 2,000-token policy document, with about 300 tokens of ticket text and five questions totalling around 150 tokens. The uncached baseline uses explicit-only mode with no breakpoints, so all 2,450 tokens use the ordinary input rate and none creates a cache write. For the cached case, put an explicit breakpoint after the stable policy and leave the changing ticket outside it. The table assumes a hit on all 2,000 policy tokens; the remaining 450 tokens use the ordinary rate. The cached rows show steady-state costs before initial writes, which must be added when estimating a real bill.

Hypothetical support router at OpenAI's standard short-context list prices for gpt-6-luna, read October 26, 2026. Row one disables caching with explicit-only mode and no breakpoints. Cached rows assume hits and omit initial writes; the final row includes a fresh implicit write on every call. Regional premiums excluded. Arithmetic is ours.
ScenarioTokens per requestCost per requestPer million requests
Uncached, every token at $0.10/M2,450$0.000245$245
Cached prefix: 2,000 at $0.01/M + 450 at $0.10/M2,450$0.000065$65
Same router, policy document grows to 20,000 tokens, cached20,450$0.000245$245
20,000-token document, prefix changes each call (written, never read)20,450$0.0025525$2,553

Two readings of the table. The first is the obvious one: at these volumes caching lowers the small-policy example by about 73%, before initial writes, when the evidence is shared. The second is the failure case in the last row. A team that builds its prompt so the reference document comes after the ticket, or that injects a timestamp at the top of the shared input can miss the reusable prefix and pay cache-write rates on the shared input every time under implicit mode. That is the difference between $245 and about $2,553 for the same decisions, because a prefix that changes every call is written to the cache at the write rate and never read. How the prefix is assembled is now a cost decision, which section 04 takes up.

For comparison across vendors, note the unit. Open and third-party decision models in our open decision-model comparison quote per-million-input prices too, and some are lower than $0.10. The comparison is only like for like once you add the cached rate, the regional premium you need and the accuracy on your own labelled set, which none of the vendors publishes for your data.

04 — Cache RulesHow caching actually applies to a decision request.

The Decisions guide's caching section is short and specific, and every sentence in it is a rule you can get wrong. By default the API places an implicit cache breakpoint at the end of the shared input, so existing requests can benefit without changes. The reusable prefix must be at least 1,024 tokens, and question content does not count toward that threshold. Everything in the questions array, including question-specific images, sits outside the reusable prefix. The prefix must be identical across requests to be reused.

Three controls exist for teams that need more than the default. A caller-supplied cache key partitions reuse, so two tenants sharing a policy document do not share a cache entry if you do not want them to. An explicit mode lets you mark breakpoints yourself on text or image parts in the shared input, and in that mode a request with no marked boundary uses no caching at all. Breakpoints are not supported inside question instructions. The usage object reports cached and cache-write token counts, and the guide warns that both are already included in the input total: adding them again double-counts.

The general prompt-caching guide adds the write economics: a 30-minute write costs 1.25 times the uncached rate and a 12-hour write 2.5 times, as total rates rather than surcharges. For a router that runs all day on one policy document, a 12-hour lifetime can reduce repeat writes. Reads still depend on prefix matching and cache availability, so a lifetime setting is not a guarantee of a hit. For a batch job that runs once a night with a different document each time, caching buys nothing and a 12-hour write costs more than not caching. Decide the lifetime by how often the prefix really repeats, not by habit.

Prefix discipline
Put the stable evidence first and keep it byte-identical: the policy document, the rubric, the reference images. Put the per-request material after an explicit breakpoint at the end of that evidence, or in the questions: the default implicit breakpoint covers the whole shared input, so anything variable left there changes the prefix on every request. Never prepend a timestamp, a request ID or a user name to the shared input, because any difference at the front invalidates the whole prefix. Check the cached-token count in the usage object on a sample of production requests; if it is zero on the second request, investigate prefix matching, eligibility, routing and cache lifetime before assuming a saving.

05 — Batching400 questions in one request, and when not to use them.

The ceiling doubled from 200 to 400 questions per request, and the guide's rule for using it is clear. Independent questions go in one array against shared input: a product photo can be checked for damage and classified by category in one call, and each question can use a different type. Questions that depend on an earlier answer go in separate requests: check for damage first, then decide on a repair category only if it is damaged. The endpoint does not chain; your code does.

Where 400 pays off is a wide rubric over a long document. A content-moderation policy with 300 distinct criteria, a compliance checklist, a quality rubric with many ordered scales: one request, one cached prefix, one round trip. The usage endpoint counts requests rather than questions, so a 400-question request is one entry in the organisation's usage report, which is worth knowing when you attribute cost per project.

The failure case is the tempting one. A team encodes a decision tree as 40 questions in a single request, with instructions like "if the previous answer was yes, then…". The model answers every question independently against the evidence; it has no earlier answer to condition on, so you cannot rely on the dependent questions to enforce your intended branch. Plausible-looking answers do not prove that the decision tree was followed. Split the tree into requests at every branch, and keep the 400 for genuinely parallel questions.

Per request
Independent questions only
400questions

Up from 200 in beta. Shared evidence, different types allowed, each with a unique name echoed in the answer. Dependent logic goes in separate requests.

guide, Oct 26
Cache threshold
Minimum reusable prefix
1,024tokens

Counted on the shared input only. A short rubric with no reference document never caches, whatever the request volume.

guide, Oct 26
Speed claim
Than Luna via Responses
10× faster

OpenAI's own figure for the dedicated endpoint against the same model generating text. Not independently measured; the latency that matters is yours, end to end.

vendor claim
Not supported
Files, audio, item references
3input kinds

The guide lists these as unsupported in input. Audio goes through GPT-Live's transcript triggers instead; files need extraction first.

guide, Oct 26

06 — Live VoiceDeciding mid-conversation with GPT-Live.

The October 15 addition is the one that opens a new class of use. The voice integration guide describes two patterns. With native delegation, a GPT-Live session calls Decisions directly when it recognises a request your app can handle, choosing among actions you define, with no round trip through your server. With triggers, Decisions runs as transcript deltas arrive, on what the user says or on what Live replies, and your app receives a decision event. The guide's examples are a car assistant that adjusts cabin temperature from "I feel a little cold" and an avatar that picks an expression as the user speaks.

For a customer-support voice agent the practical uses are routing and escalation: decide whether to ask a clarifying question, hand off to a human or continue, while the caller is still talking, so the agent's next turn is already shaped. The guide notes that questions can be changed mid-session with a session update, but the delegation type is fixed when the session is created. The failure case is acting on a partial transcript: a trigger that fires on every delta will see "I want to cancel" before it sees "…my upgrade, not my account". Trigger on turn boundaries for anything consequential and reserve delta triggers for reversible reactions like an avatar's face.

Voice verdictUse native delegation for actions with a small fixed menu and a clear "none" option, and transcript triggers only for decisions that are cheap to get wrong. Anything that moves money, cancels a service or escalates to a person should wait for the end of the caller's turn and go through a predicate with a threshold you set on recorded calls.

07 — Open ItemsWhat GA settles, and what it leaves open.

Beta status was a legitimate reason to wait, and the reasons are now mostly gone. The guide states that the Decisions API supports zero data retention and HIPAA use for eligible customers, that data residency is available in all supported API regions, and that regional processing is supported in the United States and Europe, meaning the EEA plus Switzerland. Private Link is listed for teams that need a private connection. The usage endpoint lets an admin key report Decisions token usage and request counts by project, key or model. Those are the items a security review asks for; the guide's what's-new list and the launch post mark Private Link, usage reporting and US and EU processing as additions since the beta.

What GA does not settle is the model question. The guide is explicit that gpt-6-luna is the only supported model, so a team that wants a larger model behind a typed answer has no option on this endpoint. It also does not settle accuracy: no calibration data, no benchmark, and the guide's advice to threshold on your own labelled examples is the whole of the guidance. Our earlier comparison with Microsoft Decision 1 was written against the beta as documented on October 11; the evaluation design it describes, a labelled set and a cost-weighted threshold, remains necessary when deciding whether to use the GA endpoint.

Our reading of OpenAI's Decisions guide, changelog and pricing page as of October 26, 2026.
Question a team asksSettled at GA?What the pages say
Can our data stay in the EU?YesRegional processing in the US and Europe (EEA + Switzerland); residency in all supported regions
Can we get ZDR or a HIPAA agreement?Yes, if eligibleBoth listed for eligible customers; see OpenAI's data controls for agreements and limits
Can we attribute cost per project?YesDedicated organisation usage endpoint; requests counted, not questions
Can we choose a stronger model?Nogpt-6-luna is the only supported model
How accurate is it on our inputs?NoNo published calibration or benchmark; threshold on your own labelled examples
Will the price hold?As much as any list priceGA rates match the model's standard caching rates; regional premiums and long-context multipliers apply

08 — PlacementWhere a typed decision fits in an agent stack.

The launch post's own advice for a first integration is sound: start with one recurring decision the application already makes often, define the question, the answers and the evidence that distinguishes them, and test on examples that reflect real usage. The place this most often pays is the gate in front of an agent's expensive step: should this ticket go to the model that drafts a reply at all, is this tool result enough to stop, does this request need a human. A cheap typed answer in front of an expensive generation is the pattern, and it is the one our AI transformation team reaches for first when an agent's bill is dominated by calls that should never have been made.

Routing or classifying a high-volume stream against a stable policy or rubric
Decisions with the policy in the cached prefix and independent questions batched; threshold from a labelled set.
Decisions · choice
Gating an agent's next expensive step on evidence already in the conversation
Decisions with conversation history and tool outputs in input; one predicate per gate, separate requests per branch.
Decisions · predicate
You need fields pulled out of the input in your own schema, or a written reason
Responses API with Structured Outputs; Decisions returns no text and no object of your shape.
Structured Outputs
Price per million must be lower than $0.10, or the model must run inside your perimeter
Evaluate the open and third-party decision models on the same labelled set before choosing on price alone.
Open decision models
The decision, October 26, 2026

Adopt it for the decisions you already make at volume, build the prompt around the cache, and set every threshold on your own labelled data.

General availability on October 22, 2026 turned the Decisions API from an interesting beta into something a production team can sign off: one model, $0.10 per million input tokens, $0.01 cached, no output charge, 400 independent questions a request, regional processing in the US and Europe, zero data retention and HIPAA for eligible customers, a private connection and a usage report. Prompt caching is the change that moves the bill, and it rewards a request built with the stable evidence first and nothing variable in front of it.

What it does not supply is the judgement around the number. A probability from this endpoint is the model's estimate, the guide tells you to threshold it on labelled examples by the cost of each kind of error, and no calibration figure exists to lean on. Treat the first integration as an evaluation: one recurring decision, a few hundred labelled cases, a threshold chosen on purpose, and the cache hit rate checked in the usage object. That is a week's work, and it is the difference between a cheap decision and a cheap mistake at scale.

Put a typed decision in front of the expensive step

A probability is an estimate, and the threshold is yours.

We design the decision layer in front of agents and workflows: the questions, the labelled evaluation sets, the thresholds and the caching shape that keeps the bill where the table says it should be.

Free consultationExpert guidanceTailored solutions
What we work on

Decision-layer design

  • →Routing and triage decisions with labelled evaluation sets
  • →Threshold selection by cost of error
  • →Prompt and cache design for high-volume endpoints
  • →Agent gating to cut wasted generation calls
  • →Vendor comparison on your own data, not benchmarks
FAQ · Decisions API

Questions teams ask about typed decisions.

It evaluates text, images or JSON against typed questions and returns a typed answer rather than generated prose: a probability from 0 to 1 for a predicate, one of your supplied values for a choice, or a probability-weighted score against ordered levels. Requests go to a dedicated endpoint using gpt-6-luna, the only supported model. OpenAI's own claim is that this is up to ten times faster than asking the same model through the Responses API. It became generally available on October 22, 2026 after a public beta that began on October 6.
Digital Applied newsletter

Deep dives on AI, marketing and development.

Practical guides and fresh insights by email. No recycled takes.

Related dispatches

Continue exploring decision models.

AI Development

Kimi K3.1 Pro vs Opus 5.5 vs GPT-6.1 Sol: Which Fits?

Kimi K3.1 Pro, Claude Opus 5.5 and GPT-6.1 Sol priced on the same agent workloads, with cache writes, context thresholds and API limits. No single winner.

October 25, 2026 · 14 minRead
AI Development

Kimi K3.1 Pro: Prices, Capabilities and Weight Release

Moonshot announced Kimi K3.1 Pro on October 24, 2026 at $2 in and $10 out per million tokens, a third below K3, with weights due by November 4. What to check.

October 24, 2026 · 15 minRead
AI Development

GPT-4o and GPT-4.1 Leave OpenAI's API on January 14, 2027

OpenAI will remove GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini from its API on January 14, 2027. What breaks, what to switch to and what it costs.

October 14, 2026 · 12 minRead
AI Development

OpenAI Is Giving Away $1B of Cyber AI. Who Qualifies

OpenAI committed $1 billion in subsidised Daybreak access over six months. What it is, which organisations are prioritised, and what remains unpublished.

September 3, 2026 · 8 minRead
AI Development

DeepSeek V4 Flash: A Bulk AI Workload Playbook for 2026

Worked cost math for classification, extraction, dedup and translation at million-row scale, plus the benchmark evidence on where cheap models should not go.

August 1, 2026 · 15 minRead
AI Development

ChatGPT Atlas: OpenAI AI Browser Strategy Guide 2026

ChatGPT Atlas deep dive — OpenAI's AI browser as a distribution play, what it means for search ad budgets, and agency implications for 2026 marketing.

April 16, 2026 · 16 minRead
Google Search

See more Digital Applied analysis in your Google results by adding us as a preferred source.

Add as a preferred source