Comparison

OpenAI Decisions API vs Structured Outputs

Structured Outputs make a model emit schema-valid JSON. The decision pattern behind the OpenAI Decisions API — and the decisions-1 endpoint on this site — does something different: it picks among a finite set of answers and tells you how sure it is about each one. Same neighborhood, different tool.

Updated

The actual difference

Structured Outputs constrain the shape of the response — the model must produce JSON matching your schema. If you ask it for a label inside that schema, you get a label, and nothing about the runner-ups.

A decision call constrains the semantics — the model picks one of your finite answers and returns a probability for every option plus a confidence value. The second-place option and its probability are the whole point: they tell you whether to act automatically or escalate to a human.

Side by side

Structured Outputs give you a parseable enum field. The decision endpoint gives you the same enum plus the distribution behind it.

Structured Outputs

// Structured Outputs: the model fills a JSON schema.
// You get a parseable label — not a probability per option.
{
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "route",
      "schema": {
        "type": "object",
        "properties": {
          "team": { "enum": ["payments", "frontend", "account"] }
        }
      }
    }
  }
}

The decision version

Same routing task, expressed as a choice question. The response carries the winner, the per-option probabilities, and a confidence — enough to auto-route at 0.8 and escalate below it.

Decision request

// Decision endpoint: the answer carries a probability
// for every option plus a confidence — enough to set a threshold.
{
  "model": "decisions-1",
  "state": "The page renders blank in Safari.",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "payments": "Checkout or billing.",
        "frontend": "Rendering or browser behavior.",
        "account": "Login or permissions."
      }
    }
  }
}

When to use which

Use Structured Outputs when you need the model to produce data — extraction, form filling, multi-field responses where every field matters. Use a decision endpoint when the model's job is to pick one branch and you need to know how close the call was.

They compose cleanly: a decision call picks the route, then a structured generation produces the payload for that route.

FAQ

Can Structured Outputs give me confidence scores?

Not reliably — you can ask the model to emit a confidence field, but it is a generated number, not a computed probability per option. The decision endpoint returns real per-option probabilities.

Which is cheaper?

On this endpoint a decision call is 1 credit regardless of question count (1–6 questions). A Structured Outputs call's cost depends on your provider's token pricing — compare on your own workload.

Does OpenAI's Decisions API replace Structured Outputs?

They answer different needs. Structured Outputs control response shape; a decisions API returns a constrained answer with probabilities. Per the 2026-09-29 announcement, OpenAI's version also returns probabilities — the difference stands.

See the probabilities yourself

One free trial decision for new visitors — run a choice question and read the distribution.