Source: https://ailoot.ai/models/en/microsoft-microsoft-decision-1/
Canonical: https://ailoot.ai/models/en/microsoft-microsoft-decision-1/
Language: en

# Microsoft: Microsoft-Decision-1

[Markdown](https://ailoot.ai/models/en/microsoft-microsoft-decision-1/index.md) · [JSON](https://ailoot.ai/models/en/microsoft-microsoft-decision-1/facts.json)

## [Microsoft: Microsoft-Decision-1](https://ailoot.ai/models/en/microsoft-microsoft-decision-1/)

Microsoft-Decision-1 is Microsoft’s decision-scoring model for classification, routing, prioritisation and evaluation. It reads supplied text or JSON and returns probabilities, a selected option or an ordered score, giving application logic a structured result instead of generated prose.

- [**Ailoot Ultra · System One** `POST /v1/systemone` `microsoft/microsoft-decision-1`](https://ailoot.ai/models/en/microsoft-microsoft-decision-1/#method-0)

About the model

This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.

Microsoft-Decision-1 is built for decisions about supplied content: selecting a label, checking a condition or assigning a rating. Microsoft post-trained Qwen3.5-9B for this focused scoring task. The result is a numerical judgment that an application can use directly, rather than a conversation, document or written explanation.

#### Fixed choices and clear question types

The manufacturer describes three kinds of questions. A binary question returns a probability between 0 and 1 for a defined condition. A choice question selects one option and returns a probability for each candidate. A scoring question places an item on an ordered scale and returns a probability-weighted value, which can fall between the scale’s levels.

Use a binary question when a workflow needs to check a condition, such as whether a reply contains a promised action. Use a choice question to assign a request to a known category. Use a score to order a review queue or grade a response against a defined rubric. These tasks differ in the result your application needs, so select the question type before preparing the input.

#### Preparing the evidence and options

The model reads a supplied state, expressed as text or JSON, together with bounded questions and instructions. Include the material that determines the decision and define the criteria plainly. For a ticket classifier, provide the message and meaningful descriptions of the allowed destinations. For a quality check, provide the candidate answer, the original task and the rubric rather than asking for an unexplained general quality rating.

Several questions can share the same evidence. A single ticket may need a destination, an urgency level and a check for repeated contact. Keeping those decisions tied to the same supplied material makes the result easier to interpret. The question wording and the distinction between options still matter: overlapping labels or missing evidence can produce an apparently precise score for a poorly defined task.

#### Confidence and workflow control

Microsoft treats probabilities as useful confidence signals for deciding whether to act, defer or ask for review. Set thresholds using representative labelled cases from your own workload. The threshold for accepting a harmless category assignment can differ from the threshold for an action with a costly false positive. An explicit uncertain option lets a classifier avoid forcing an unsupported choice.

For an ordered score, use the result to compare items or apply a measured threshold; it is not an independently validated absolute rating of quality. Check whether paraphrasing a question or changing the order of options alters the decision. This makes the meaning of a returned score concrete for the application consuming it.

#### Practical places to use a decision model

An agent can use a bounded decision to choose its next action, a document workflow can classify incoming material, and an evaluation step can accept, revise or escalate a generated result. Microsoft also describes intent analysis, incident routing, search relevance and data labelling as applications. A generative model remains the appropriate component when the required artifact is a summary, explanation, rewritten text or code; the decision model can select the next processing step.

For an Ailoot API project, start with a specific decision and define the evidence, allowed answers and action associated with each outcome. Account for the model’s documented sensitivity to wording and its lack of a written rationale. Evaluate the decisions against the task’s actual labels and inspect uncertain cases before treating confidence as automatic permission to act.

**Ailoot Ultra · System One** `POST /v1/systemone` `microsoft/microsoft-decision-1`

[`microsoft/microsoft-decision-1`](https://ailoot.ai/models/en/#m=microsoft%2Fmicrosoft-decision-1&route=Ultra&caller=microsoft%2Fmicrosoft-decision-1&fmt=systemone)

Microsoft /`microsoft/microsoft-decision-1`

### Overview

Microsoft-Decision-1 is Microsoft’s decision-scoring model for classification, routing, prioritisation and evaluation. It reads supplied text or JSON and returns probabilities, a selected option or an ordered score, giving application logic a structured result instead of generated prose.

Accepted inputs

Text

Results

decisions

### Available in Ailoot · inputs & methods

**Ailoot Ultra · System One** `POST /v1/systemone`

Input types

`text`

Output types

`decisions`

Output format

json

| Field | Type | Requirement | Values & limits | Default |
| --- | --- | --- | --- | --- |
| Field`model` | Type`string` | RequirementRequired | Values & limits microsoft/microsoft-decision-1 | Default— |
| Field`provider` | Type`schema` | RequirementOptional | Values & limits | Default— |
| Field`questions` | Type`object` | RequirementRequired | Values & limits | Default— |
| Field`session_id` | Type`string` | RequirementOptional | Values & limits | Default— |
| Field`state` | Type`schema` | RequirementRequired | Values & limits | Default— |
| Field`trace` | Type`schema` | RequirementOptional | Values & limits | Default— |
| Field`user` | Type`string` | RequirementOptional | Values & limits | Default— |
| Field`questions.<id>.type` | Type`string` | RequirementRequired | Values & limits noul, choice, score | Default— |
| Field`questions.<id>.instructions` | Type`string\|object\|array` | RequirementRequired | Values & limits | Default— |
| Field`questions.<id>.criteria` | Type`object\|array` | RequirementOptional | Values & limits Conditions: choice/score: required; noul: optional. choice criteria is object; score is array with minItems1. | Default— |
| Field`questions.<id>.criteria.true` | Type`string\|object\|array` | RequirementRequired | Values & limits Applies when: noul criteria object supplied | Default— |
| Field`questions.<id>.criteria.false` | Type`string\|object\|array` | RequirementRequired | Values & limits Applies when: noul criteria object supplied | Default— |

Input material combinations

**noul** · Required: state, questions.\<id\>.type=noul, questions.\<id\>.instructions

**choice** · Required: state, questions.\<id\>.type=choice, questions.\<id\>.instructions, criteria object

**score** · Required: state, questions.\<id\>.type=score, questions.\<id\>.instructions, criteria array with minItems1

Method parameters and lifecycle

| Parameter | Contract |
| --- | --- |
| Parameter`content_type` | Contractapplication/json |
| Parameter`required` | Contractmodel, state, questions |
| Parameter`material_types` | Contracttext |
| Parameter`optional_controls` | Contractprovider, session\_id, trace, user |
| Parameter`multimodal_input_binding` | Contractnull |

Lifecycle: `synchronous`

Send the exact model ID and retain the complete native response.

### Pricing

Tariff references do not add request options. Supported parameters are listed for the selected method.

Fast mode

Not specified When fast mode is selected

Flex mode

Not specified When flex mode is selected

Maximum reasoning effort

Not specified When maximum reasoning effort uses the default adjustment

#### Ailoot rates

#### Prices by configuration

Match each charge to the conditions shown. Use one rate for each set of alternative configurations.

| Configuration | Rate schedule | Context tokens, more than | Context tokens, up to and including | Charge |
| --- | --- | --- | --- | --- |
| ConfigurationBase token rates | Rate scheduleBase rate | Context tokens, more than— | Context tokens, up to and includingNo upper bound | Charge Input · Input tokens **$0.000084** / 1K tokens Output · Output tokens **$0** / 1K tokens Input · Cache read **—** / 1K tokens Input · Cache write **—** / 1K tokens Input · Cache write, 1 hour **—** / 1K tokens |
| ConfigurationRequest-length tier 1 | Rate schedule— | Context tokens, more than0 | Context tokens, up to and includingNo upper bound | Charge Input · Input tokens **$0.000084** / 1K tokens Output · Output tokens **$0** / 1K tokens Input · Cache read **—** / 1K tokens Input · Cache write **—** / 1K tokens Input · Cache write, 1 hour **—** / 1K tokens |

Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. [How reservation and settlement work →](https://ailoot.ai/docs/en/billing/reserve/)

### Example requests

#### Ailoot Ultra · System One

Retained official request structure; documentary exampleUse your actual request material and retain the complete result

```json
{
  "model": "microsoft/microsoft-decision-1",
  "questions": {
    "is_bug": {
      "criteria": {
        "false": "The customer is asking a question or requesting a feature.",
        "true": "The customer describes broken or unexpected product behavior."
      },
      "instructions": "Is the customer reporting a software defect?",
      "type": "noul"
    },
    "team": {
      "criteria": {
        "account": "Login, permissions, or profile issues.",
        "frontend": "Rendering, layout, or browser compatibility issues.",
        "payments": "Checkout, billing, or payment processing issues."
      },
      "instructions": "Which team should own this ticket?",
      "type": "choice"
    },
    "urgency": {
      "criteria": [
        "Can wait for the next release",
        "Should be fixed this week",
        "Blocking revenue right now"
      ],
      "instructions": "How urgent is this ticket?",
      "type": "score"
    }
  },
  "state": {
    "customer_tier": "enterprise",
    "ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers."
  }
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_REQUEST_FILE:?Set your actual JSON request file}"
export AILOOT_REQUEST_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))
if not isinstance(p,dict): raise SystemExit('Request must be a JSON object')
p['model']='microsoft/microsoft-decision-1'
Path('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
print(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))
PY_RESULT
```

### Receive and save results

#### Ailoot Ultra · System One

json

##### Keep all completed results

Keep every complete returned response, file and content part.

Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.

##### If the original response needs checking

Preserve original operation and full/partial reply; do not replay POST.

Response fields

| Field | Type |
| --- | --- |
| Field`model` | Typestring |
| Field`id` | Typestring |
| Field`provider` | Typestring |
| Field`answers.<id>.type` | Typestring |
| Field`answers.<id>.noul` | Typenumber |
| Field`answers.<id>.choice` | Typestring |
| Field`answers.<id>.score` | Typenumber |
| Field`answers.<id>.confidence` | Typenumber |
| Field`answers.<id>.probabilities` | Typeobject |
| Field`answers.<id>.legend` | Typeobject |
| Field`usage.input_tokens` | Typeinteger |
| Field`usage.output_tokens` | Typeinteger |
| Field`usage.cost` | Typenumber |

Errors and next steps

| Response | Condition | Next step |
| --- | --- | --- |
| Response400 · `invalid_request_error` | ConditionInvalid required field, representation or value | Next stepCorrect the indicated request field. |

### Aliases

#### Model aliases

**Ailoot Ultra** [`microsoft/microsoft-decision-1`](https://ailoot.ai/models/en/#m=microsoft%2Fmicrosoft-decision-1&route=Ultra&caller=microsoft%2Fmicrosoft-decision-1&fmt=systemone)

#### Method path aliases

Use the method paths shown above.

#### Related caller IDs

[`microsoft/microsoft-decision-1`](https://ailoot.ai/models/en/#m=microsoft%2Fmicrosoft-decision-1&route=Ultra&caller=microsoft%2Fmicrosoft-decision-1&fmt=systemone)

FAQ · Microsoft: Microsoft-Decision-1

What inputs and results are available?

`POST /v1/systemone` · `microsoft/microsoft-decision-1`: `text` → `decisions`

Which fields does the request use?

`POST /v1/systemone` · `microsoft/microsoft-decision-1`: `model`, `provider`, `questions`, `session_id`, `state`, `trace`, `user`

Connect Ailoot to Claude Code, OpenCode, Hermes or your own app.

## The company and its project portfolio

The company and its project portfolio: millions of customers; monthly sales in the billions.

## Buy tokens at a discount.

Subscription discounts for regular use. Promo codes offer up to 50% off token purchases.

Subscription

Choose a discounted plan for your regular requests.

Promo code: up to 50% off

Enter your code at checkout. The price updates to reflect the current promotion.

Spending in your history

The model, tokens and amount are recorded for each request.

[Choose a subscription](https://ailoot.ai/docs/en/billing/subscriptions/) · [View model prices](https://ailoot.ai/models/en/)

## Connect the API to a product you sell.

Use Ailoot in SaaS, apps and bots under its official service offer and licence agreement. Request a reseller licence for resale.

Commercial application

Add text, image, video and audio generation to paid features in your service.

Reseller licence

Send a description of your project and how you provide access. Request written terms for use and resale.

Documents on the website

The service offer, licence agreement and data processing policy are available before you connect.

[Request a reseller licence](mailto:support@ailoot.ai) · [Service offer and licence agreement](https://ailoot.ai/legal/offer?lang=en)

## Ailoot · The company and its project portfolio





Ailoot combines established operating experience, a large client base, stable service and ongoing KPI control.





The company and its project portfolio: millions of customers; monthly sales in the billions.





Ailoot brings that operating experience to API access for AI features in customer products, agents, applications and automations.
