← Use cases

Decision APIs

A decision API is the opposite of a chatbot: you give it context and a finite set of allowed answers, and it hands back one of them — a classification, a route, an agent's next action — with a probability, in milliseconds instead of seconds. It's a small but fast-growing category, and this page explains what it is, who offers one, and how to make a decision call today.

For two years the default way to make software "decide" was to prompt a large language model and parse whatever prose came back. That works, but it's slow, it's priced per generated token, and the model can answer with something that isn't one of your options. A decision API removes the generation step entirely: you declare the answer space up front, send the state you want a call on, and get back a typed answer plus a calibrated probability — nothing to parse, nothing invalid to guard against.

context + answer space finite set of options decision API bounded question one typed answer + probability
A decision API takes context and a finite answer space, and returns one typed answer with a probability — a bounded question, not an open-ended prompt.

What makes something a decision API

Who offers a decision API

The category got its name when TypeSafe AI shipped Jev, and it went mainstream on 29 September 2026 when OpenAI announced its own Decisions API at DevDay — the clearest signal yet that "decision layer" is a real category and not one vendor's framing. Here's the honest landscape:

Jev (TypeSafe)OpenAI Decisions APIOpen models (Laya, CLM-8B)
What it isPurpose-built System One modelGPT-6 Luna optimized for decisionsSelf-hostable decision models
StatusGenerally availableLimited previewOpen weights, you run them
Outputchoice · score · noul + confidenceAnswer from your set + probabilityStructured answer you enforce
InputText stateText + imagesDepends on the model
CalibrationRLCD-calibratedProbability score (details TBD)You validate it yourself
Get startedGrab a key nowJoin the previewDownload & host

The most common "decision API" is still the informal one: prompting GPT, Claude or a local Llama to decide in free text (LLM-as-a-judge). It needs no new dependency, but it's slow, pays per output token, returns prose you parse, can emit an option that isn't on your list, and isn't calibrated — fine for one-off judgments, shaky for the many small decisions in an agent loop.

Make a decision call today

OpenAI's Decisions API is preview-only for now, so the way to actually ship a decision call today is Jev, which is generally available with the same category shape — a finite answer space in, one typed answer plus confidence out. It's a single HTTPS POST:

// A decision call: context in, one typed answer + confidence out
const res = await fetch("https://jevtypesafeai.com/api/v1/decide", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.JEV_KEY}`, // jv_live_...
  },
  body: JSON.stringify({
    state: { ticket: text },
    questions: {
      queue: { type: "choice", instructions: "Which queue should this go to?",
               criteria: { billing: "payments", technical: "bugs", abuse: "spam/fraud", sales: "pricing" } },
    },
  }),
});
const { answers } = await res.json();
route(answers.queue.choice); // one of your four options — with answers.queue.confidence

answers.queue.choice is locked to the criteria you sent, so you branch straight on it. The request shape is provider-agnostic on purpose: as other decision APIs open up (OpenAI's included), the same state-plus-answer-space call is what you'll send them — which is why building on a decision API now, rather than parsing an LLM, is the portable bet.

One call, more than one provider

your decide call state + questions Jev — available now OpenAI Luna — preview local / open — Laya
The value of the decision-API shape is portability: the same call can target Jev today, and other providers as they open up.

We default to Jev because it's available and calibrated today. As OpenAI's Decisions API reaches general availability we plan to let you point the same call at it (and at self-hosted open models like Laya) without changing your code — the answer space and state stay the same, only the provider changes.

See a decision API in action

The tools on this site are all decision calls: a router that picks a model, a judge that grades a pull request, a classifier that triages email — each one a finite answer space resolved in a single call. Try one free in the browser, then point your own code at the endpoint.

FAQ

What is a decision API?

An API that returns one answer from a finite set you define — a classification, a route, an agent's next action — with a probability, in milliseconds. Unlike prompting an LLM, there's no generated text to parse and no way to return an option that isn't in your set.

How is a decision API different from an LLM?

An LLM generates open-ended text token by token; a decision API emits one typed answer from your answer space in a single pass. That makes it faster (milliseconds vs seconds), cheaper for high-frequency use, and impossible to get an invalid or made-up answer from.

Which decision API can I use right now?

Jev (TypeSafe) is generally available today — grab a key and POST to /api/v1/decide. OpenAI's Decisions API was announced at DevDay 2026 but is in limited preview; open models like Laya you can self-host. For shipping a decision call today, Jev is the ready option.

Is OpenAI's Decisions API available?

Not generally yet. OpenAI announced it at DevDay on 29 September 2026 as a limited preview built on GPT-6 Luna, with a broader release planned for the coming days. No pricing or accuracy figures have been published.

See also: OpenAI Decisions API vs Jev · OpenAI Decisions API explained · Jev alternatives · What is Jev · Playground

Make your first decision call

Try a real decision in the browser free — no signup — then grab a jv_live_ key and ship one.

▶ Try Jev freeGet an API key →
Decision APIs — fast structured decisions for software · Jev by TypeSafe AI