OpenAI Decisions API Hits GA. Retire the Regex Hack.

    OpenAI’s Decisions API went generally available on October 22, 2026, priced at $0.10 per million uncached input tokens with zero charge for output tokens.

    The endpoint runs GPT-6 Luna and answers bounded questions over shared evidence, returning a probability, a pick from a fixed list, or a score against ordered levels instead of prose you have to parse. One request can carry up to 400 questions, cached input bills at $0.01 per million. And Microsoft shipped the same endpoint into Foundry the same day. If you currently classify content, route requests, or prioritize work by asking a chat model and regex-scraping its reply, that hack now has a cheaper, typed replacement. And you should look at it this week.

    What the Decisions API Actually Does

    The mechanics are refreshingly small.

    You send two things: an `input` field holding the shared evidence, and a `questions` field holding what to evaluate.

    Per OpenAI’s API reference, the input can be a text string or an ordered array of messages, function calls and outputs.

    And custom tool calls and outputs. The questions field carries between 1 and 400 questions. And each question declares its own type, instructions, and allowed choices or score levels, per Microsoft’s docs.

    The three question shapes map straight onto agent control flow. And StackOne’s beta writeup described them before GA: the probability a condition is true, one choice from a fixed list, or a score against ordered levels.

    Probability is your gate (“is this message a support request?”).

    The fixed list is your router (“next action: reply, escalate, or fetch order data”).

    The ordered score is your triage (“urgency: low, medium, high”).

    The endpoint also accepts images as evidence, not just text, which matters if your pipeline judges screenshots, photos, or scans.

    The output side is the whole point.

    You get typed answers instead of generated text. So your application code branches on a value, not on whether the model happened to phrase its answer in a way your parser tolerates. I have written that parsing regex, and so have you if you have shipped an agent. It works until the day it silently doesn’t.

    The Pricing Looks Like a Discount. Check Your Shape First.

    TokenPost’s report lists the numbers: $0.10 per million uncached input tokens, $0.01 per million cached.

    And no output-token charges at all.

    Against a chat completion, where you pay for the tokens the model generates on top of everything you send, that reads like a fire sale.

    The catch is where your bill actually lives.

    Input is the only meter on this endpoint.

    Your evidence gets priced every call it isn’t cached.

    And prompt caching is itself one of the things GA just added.

    So the economics depend entirely on your request shape. Shared evidence plus a batch of questions is the good shape: load the transcript once, ask every bounded question you need against it, pay the input freight once. A single question over a huge document pile is the bad shape. Because you are paying full input price for one label and no output-token discount rescues that.

    The batching ceiling doubled at GA, from 200 questions during the beta to 400 now. That is a straight hint about intended usage. Amortize evidence across a batch of decisions in one call, and stop making a round trip per question.

    What General Availability Actually Added

    Beyond the price tag, TokenPost reports that GA brought three things: native GPT-Live integration, prompt caching.

    And inference residency in the U.S. and EU. Residency is the one small operators sleep on.

    If you sell to European customers, keeping inference inside the EU is a conversation you want to have before it becomes a compliance problem.

    The pace is worth noticing too.

    The public beta opened October 6.

    And GA landed October 22, sixteen days later, per TokenPost’s account of the timeline. Vendors do not graduate an endpoint that fast unless they think it is load-bearing infrastructure. Meanwhile Microsoft moved the same day, bringing Decisions to Microsoft Foundry as a dedicated endpoint, `/openai/v1/decisions`, callable with the OpenAI SDKs or REST and authenticated by API key or Microsoft Entra ID. It is rolling out only to regions where gpt-6-luna is available, and East US 2 is explicitly excluded. If your Azure resources sit in East US 2, that exclusion will find you before the docs do.

    Here is my cynicism flag. GPT-6 Luna is currently the only supported model on the endpoint. One model, no fallback, no accuracy-versus-cost dial, which means your classifier is welded to a single model that OpenAI can retune underneath you. That is not a reason to skip the API. It is a reason to log inputs and answers so you can detect drift in your own data instead of discovering it through angry users.

    What Small Operators Should Actually Do With It

    The documented use cases are exactly the boring ones that pay rent: classify content, route requests, prioritize work. Boring is the point. The expensive part of an agent is rarely the clever generation, it is the control flow around it. And that is what this endpoint takes over.

    Your move, in order:

    – Inventory every place your code parses model output with string matching. Each one is a candidate for a bounded question.
    – Convert each candidate into one of the three shapes: probability for gates, fixed list for routing, ordered score for triage.
    – Batch aggressively, up to 400 questions per call over shared evidence, and lean on caching for evidence that repeats.
    – Spend real time on your answer space, since the label set is now the model. A vague four-option list will produce vague routing no matter how good GPT-6 Luna is.
    – Keep chat completions for genuinely open-ended work. Not everything needs to be a decision, and forcing it is its own failure mode.

    For a one-person shop, the honest framing is this: the Decisions API does not make your agent smarter, it makes the boring part of your agent reliable and cheap enough to leave running. That is the difference between a demo and something you can bill against.

    The Verdict

    GA pricing at $0.10 per million input tokens and typed answers instead of parsed prose removes the last two excuses for the regex hack. The lock-in to a single model is real, the East US 2 gap is real. And the discount only shows up if you batch. None of that changes the direction. This week, pick the one branch of your agent’s control flow that breaks most often, rewrite it as a bounded question against the Decisions API. And measure the failure count before and after.

    One converted branch will tell you more than any launch-day thread will.

    Leave a Reply

    Your email address will not be published. Required fields are marked *