decisionunverifiedAuto lesson

Microsoft

Microsoft-Decision-1

microsoft/microsoft-decision-1

Microsoft-Decision-1 is a small model built for fast decision-making. Instead of generating text, it reads the provided content and returns a calibrated probability for each fixed answer option, so the...

RoleReturns probabilities for your questions, not a paragraph.

$0.042

In / M

Free

Out / M

33K

Context

AA intelligence index
Not on listing
Inputs
text
Outputs
decisions
Tools
Not listed
Structured output
Not listed
Reasoning
Not listed
Weights
Not verified
Listed
Oct 9, 2026
Live from the OpenRouter listing ↗

01 · What it's good at

Use it for this.

Three jobs this model is built for, and the ones to give to something else.

01

Routing, moderation, grading, and scoring inside software

Skip it for

  • Writing, chat, code, or open-ended explanations

02 · Example tasks

What you'd actually send it.

Real inputs, not a benchmark. Paste one into the snippet below to try it.

You send

State: ticket text. Questions: noul 'needs a human', choice of team.

Why this model

Decision models return probabilities.

03 · Your stack

Where it sits: Gate & route.

You send content and typed questions (yes/no, pick one, score a rubric). You get probabilities. Your code applies a threshold.

04 · Wire it up

One request. Paste and run.

Uses OpenRouter, so one key works for every model on this site. Set OPENROUTER_API_KEY and swap the prompt for one of the tasks above.

const res = await fetch("https://openrouter.ai/api/alpha/decisions", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENROUTER_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "model": "microsoft/microsoft-decision-1",
    "state": {
      "ticket": "I was charged twice this month."
    },
    "questions": {
      "needs_human": {
        "type": "noul",
        "instructions": "Does this ticket need a human?"
      }
    }
  }),
});
if (!res.ok) throw new Error(`Decisions ${res.status}: ${await res.text()}`);
const { answers } = await res.json();
// A noul answer is the probability of "yes". Your code picks the thresholds.
const p = answers.needs_human.noul;
if (p >= 0.9) console.log("yes");
else if (p <= 0.1) console.log("no");
else console.log("send to a human", p);

Decisions is an alpha endpoint on OpenRouter. The TypeScript SDK exposes it as openRouter.alpha.decisions.create().

05 · Watch out for

Gotchas.

  • This lesson is generated from the model type and the live listing. It has not been hand-reviewed yet.

  • Check the listing for supported parameters before you rely on tools or structured output.

Sources

Lessons are written from each model's listing and the linked docs. We don't publish our own benchmark numbers; the index above is Artificial Analysis, as shown on OpenRouter.