Microsoft-Decision-1 returns 422 or 404: deployment name and endpoint

Decision-1 wants your deployment name in `model`, not the model name. A 422 means a bad name or question; a 404 means a wrong endpoint or path.

4 min readSume
All posts

If a Microsoft-Decision-1 call returns 422, check that model holds your deployment name and that every question has a supported type. If it returns 404, check the resource endpoint and the path /providers/microsoft/v1/systemone. Those are the causes Microsoft's troubleshooting table lists, and they are the two mistakes people make first when they wire a gate in front of a paid Sume call.

The error table

Microsoft's Learn page gives one table for the decision API. A gate in front of Sume should map each row to an action, and every row except a fixed request should end in review, never in a render.

Decision API errors and what a Sume gate does, Microsoft Learn read 2026-10-13
StatusMicrosoft's causeGate action
400Invalid question type or shape; check state, questions, type, criteriaFix the request in code; treat the brief as review
401Credential missing, invalid or expiredRefresh the token or key; review meanwhile
403Identity lacks access to the deploymentFix the role assignment; review meanwhile
404Endpoint or API path is incorrectCopy the endpoint from the deployment details page
422Deployment name or question definition not supportedCheck the model value and each question
429Deployment rate limit exceededRetry with exponential backoff, or request more quota

Deployment name versus model name

The request's model is the deployment name. Microsoft's example: a deployment called pi-decision-1 is sent as "model": "pi-decision-1". The response's model field names the underlying model and can differ, so do not compare the two. Put the deployment name in an environment variable and read it from there, so a rename is a config change.

Keep the Sume side separate

None of these errors touches Sume. Nothing has been submitted, no credits have moved, and there is no job to poll. When the gate does say render, the Sume call is a separate request with its own Idempotency-Key, and a 402 there is documented on the errors page. Log the two request ids separately so a support question about either side is answerable.

A five-line health check

Before you trust a gate, send one known brief with a fixed question and print the HTTP status and the selected option. Do that on deploy and in a nightly job. A 401 or 403 after a quiet week usually means an expired token or a changed role; a 404 or 422 after a deployment rename means the config did not follow.

Remember that both Entra ID and an API key are accepted; Microsoft recommends Entra ID.

  • Same brief, same question, every run.
  • Alert on any non-200.
  • Keep the deployment name in config.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume