OpenAI's Decisions API Is Not a Model. It Is a Meter.
On the day OpenAI unveiled its Decisions API, the company published four things: a name, a claim that it delivers "fast, constrained AI choices," an implication that it improves efficiency and competitiveness, and a hedge that the real-world impact depends on cost and accuracy. It published no price. No P50 or P99 latency. No accuracy figure. No statement on whether this is a new model or merely a new endpoint.
That ratio — four marketing facts against zero engineering facts — is the only hard data in the release, and it is the number worth auditing first.
I have spent the better part of a decade reading protocol announcements this way. The 2025 AI-agent trading protocol I audited advertised autonomy and shipped an incentive loop that rewarded short-term volatility extraction — a feedback structure I quantified at roughly $500 million in potential liquidity drain. The whitepaper was confident. The contracts were not the same system the whitepaper described. Code executes exactly as written, not as intended. So when a vendor withholds the numbers that would let you verify a claim, you do not assume the numbers are good. You assume they are being managed.
The Decisions API lands inside a market already saturated with the same primitive. Constrained decoding — forcing a model to emit only outputs that satisfy a grammar, a JSON schema, or a fixed enumeration — is not new. It has an academic lineage stretching back years and a mature open-source ecosystem: Outlines, Guidance, LMQL, Instructor, BAML, XGrammar, llguidance. All free. All self-hostable. All capable of locking generation to a finite option set.
OpenAI already shipped structured outputs and a JSON mode. Anthropic has tool use. Google has controlled generation. So the honest framing of "Decisions API" is not "new capability." It is "existing capability, repackaged for one scenario and sold as its own line item."
That reframing matters because of where we are in the cycle. In a bear market, the question a reader asks is not "what can this do?" It is "will this still exist in twelve months, and does it hold my assets?" That question applies to infrastructure as much as to tokens. An API is a dependency. A dependency that cannot be priced is a liability. A dependency that cannot be measured is a gamble.
The scenario the API targets is real, though. Agents need to route. A workflow needs to decide whether an incoming message is a refund request, a technical issue, or a sales lead. A moderation pipeline needs a binary. A trading agent needs to select one action from five. These are classification tasks, not open-ended generation. They consume a tiny number of output tokens. They are latency-sensitive and, in principle, cacheable. That is the actual product: a discrete decision, metered and served.
Pricing is the missing variable, and it decides everything. The industry converged on per-token billing for generation because generation scales with output length. Decision tasks do not. A five-way classification produces the same value whether it costs two tokens or twenty. That mismatch is an opening. If OpenAI prices per decision, it can charge for judgment rather than volume, and judgment does not scale down the way tokens do. It can also charge for something subtler: the removal of a decision from the customer's plate. That is a service, not a computation, and services price differently.
Strip the marketing and the technical route is close to deterministic. "Fast" plus "constrained" plus "choices" points to one implementation almost every time: constrained decoding bolted onto latency engineering. Small parameter models. Speculative sampling. Prefix caching. KV-cache optimization. Continuous batching. Logit-only outputs. Every one of those is an engineering optimization. None is a theoretical advance.
Mechanically, constrained decoding works by masking the logit vector at each generation step so that only tokens consistent with the permitted grammar survive. The model's distribution over the full vocabulary is truncated to the legal set. For a five-way classification, the output is forced into five branches and nothing else. The mechanism is well understood, cheap to implement, and already deployed at scale across the open-source ecosystem. There is no proprietary magic in the truncation step itself. If OpenAI has any edge, it is in how fast and how reliably it serves that truncated distribution, not in whether it can truncate at all.
So the innovation tier here is combination-level, not architecture-level. This is not a new model. It is a new endpoint — or, at most, a fine-tuned small model wrapped in a decision-shaped interface. The distinction is not academic. It sets the cost structure and the ceiling at the same time.
Here is the part the announcement is structured to obscure. The real pricing lever is not the token. It is the decision. A call that selects one of five categories has almost no correlation between its value and its token count. Its value is the correctness of the judgment. If you meter that per-decision instead of per-token, you have not improved the product. You have changed the unit of account — and unit changes are how vendors escape price competition on a thing everyone else already sells. The token was the old meter. The decision is the new one. Whoever defines the meter defines the margin.
The competitive reality is brutal, and the release does not acknowledge it. Open-source constraint frameworks are a permanent price anchor. They are free, and they run on your own hardware. That caps what any closed vendor can charge for the same primitive. The only defensible charge is for what open source does not give you: zero operational overhead, lower latency, higher reliability, and someone else to blame when it breaks. That is a thin moat. It erodes every time an open-source project ships a better scheduler.
Now apply the incentive lens. Logic is binary; incentives are fractal. The incentive for OpenAI is not to advance the field. It is to convert a feature that is about to become table stakes into a standalone product line before it becomes free everywhere. Structured output is converging on commodity status. Once it is a default on every endpoint, it cannot be priced separately. So the rational move is to carve it out, name it, and sell it while the naming still carries margin. This is a defensive launch dressed as an offensive one.
There is a second incentive underneath. If an agent's routing and classification calls run through OpenAI's decision endpoint, every downstream generation call stays inside OpenAI's ecosystem. The decision endpoint is not the product. It is the funnel. It is the on-ramp that keeps high-value generation traffic from migrating to a cheaper open-source constraint layer. You defend the tollbooth by owning the road that leads to it.
And a third, quieter one. BERT-class lightweight classifiers — moderation, sentiment, intent — have been a quiet business for years. A "just call the API" decision endpoint eats that business without ever naming it as a competitor. The announcement never mentions classical ML. It does not have to. The substitution happens silently, one integration at a time.
The risk profile shifts in a way the release ignores. Constrained output removes the hallucination surface — a model physically cannot emit an option outside the set, so it cannot fabricate one. For generation, that is a real win. But the failure mode does not disappear. It relocates. When you lock a decision to a finite option set, you convert a hallucination risk into a classification-bias risk — and bias, unlike hallucination, is reproducible at scale. A single skewed threshold does not produce one wrong answer. It produces the same wrong answer a million times, at full throughput, with no human in the loop. Probability does not forgive edge cases. Neither does a metered decision endpoint.
My 2023 review of a high-throughput chain's prioritization logic made this concrete. The bug was not a crash. It was a fee market that quietly favored large participants, a structural bias I quantified across a simulation of ten thousand transactions. No single transaction looked wrong. The aggregate did. Decision APIs inherit this property. The error is not in any one call. It is in the distribution of calls, and that is exactly what per-decision pricing is designed to scale.
In high-stakes uses — hiring screens, credit decisions, medical triage — the tool stops being a tool. Under regimes like the EU AI Act, a system that automates decisions about people can be reclassified as high-risk, which drags in obligations the announcement says nothing about: explainability, fairness audits, human review. The release mentions efficiency and competitiveness. It mentions none of this. That silence is a compliance gap waiting to be found by a regulator rather than disclosed by a vendor.
The operational picture is the inverse of training. This is inference-side, low compute density, latency-bound. It needs caching, quantization, batching, and probably distillation of decision behavior from a larger model into a smaller one. It does not move the needle on training clusters. It barely moves the needle on GPU demand. The compute story is small. And the refusal to publish a latency number means the single KPI that matters most for this workload is the one we cannot see.
What the release does not contain is as structured as what it does. There is no answer to the question that determines everything: is this a standalone fine-tuned model or a constrained wrapper over a general one? The first implies a dedicated inference fleet and a different cost curve. The second implies a thin interface over existing infrastructure. There is no latency figure, so the central claim — "fast" — is unverified. There is no statement on the expressive boundary of the constraint: custom grammars, nested schemas, or a fixed enumeration? There is no failure-mode specification. When an input falls outside the permitted option space, does the endpoint error, degrade, or force a classification? Each of those behaviors produces a different system, and the release does not tell you which one you are buying.
The bears on this launch will call it a repackaged feature and stop there. That is lazy, and it is wrong in one important way.
The routing layer is genuinely strategic. If agents become the dominant interface for software, then fast, reliable, cheap decision calls are not a commodity feature. They are infrastructure. Whoever owns the default routing endpoint owns a piece of every agent's control flow. That is not a small prize. My own work on agent trading protocols showed exactly this: the danger was never the agent's intelligence. It was the incentive loop governing its decisions, and that loop lived in the routing and reward logic, not the model weights. A vendor that becomes the default decision layer sits inside that loop for thousands of downstream systems at once.
The bulls are also right that constrained output is a legitimate reliability strategy. Removing the fabrication surface is real engineering value, not marketing. For a moderation pipeline or a deterministic workflow, a locked option set is worth more than raw model quality. The error the announcement makes is presenting this as novelty. The error its critics will make is dismissing the positioning as trivial. Both are wrong. The correct read is that this is an unremarkable technical product attached to a strategically serious distribution play.
The open question is whether OpenAI can hold that position against free alternatives. The answer depends entirely on numbers it has not published. Latency, cost, and reliability relative to self-hosted constraint decoding are the whole game. Until those exist, the product is a promise — and promises are the cheapest asset a vendor can issue.
The Decisions API is not a breakthrough. It is a meter — an attempt to convert a maturing capability into a billable unit and, in the process, to own the on-ramp to the agent economy. That is a coherent strategy. It is also an unverifiable one, because the release contains four facts and no benchmarks, and a product you cannot measure is a product you should not route production traffic through.
Certainty is a luxury; risk is the baseline. The signal to watch is not the launch. It is the pricing page, the latency figures, and the third-party benchmarks that do not yet exist. If they arrive and hold up, the positioning was real. If they never arrive, the announcement was the product.
For now, treat it as a dependency, not an upgrade. Audit it before you route anything through it. And remember that a decision endpoint that cannot explain its decisions is just a black box with a faster invoice.