Home / AI & GenAI

AI & GenAIRunbookIntermediate

Azure OpenAI o1, o3, o3-mini and o4-mini retire on 19 November 2026 - what auto-upgrades, what breaks, and how to migrate provisioned deployments

Seven reasoning models in Azure OpenAI retire on 19 November 2026, with gpt-5.6-sol or gpt-5.6-terra as replacements. Standard deployments are auto-upgraded unless you opted out; provisioned deployments are not and will start returning 410 Gone. Inventory, evaluate, and switch before the date.

Deepak Bhardwaj3 min read

Applies toAzure OpenAI in Microsoft Foundry - o1, o1-pro, o3, o3-pro, o3-deep-research, o3-mini, o4-mini; Standard, Global Standard, Data Zone and Provisioned deployments

The schedule

From the Microsoft Foundry model retirement schedule (last updated September 2026):

Model Version Retirement Replacement
o1 2024-12-17 2026-11-19 gpt-5.6-sol
o1-pro 2025-03-19 2026-11-19 gpt-5.6-sol
o3 2025-04-16 2026-11-19 gpt-5.6-sol
o3-pro 2025-06-10 2026-11-19 gpt-5.6-sol
o3-deep-research 2025-06-26 2026-11-19 gpt-5.6-sol
o3-mini 2025-01-31 2026-11-19 gpt-5.6-terra
o4-mini 2025-04-16 2026-11-19 gpt-5.6-terra

Retirement dates can't be extended. After retirement, inference returns 410 Gone.

(Fine-tuned o4-mini deployments follow a separate schedule: deployment retirement 2027-11-19.)

What happens to your deployments

Deployment type At retirement
Standard / Global Standard / Data Zone Standard, upgrade option OnceNewDefaultVersionAvailable or OnceCurrentVersionExpired Auto-upgraded to the replacement, region by region
Same, with NoAutoUpgrade Stops working (410)
Provisioned (PTU), any Not auto-upgraded. You must migrate manually

An auto-upgrade isn't automatically safe either: the replacement is a different model, so prompts, output format, latency and token use can change.

1. Inventory

for acct in $(az cognitiveservices account list --query "[?kind=='OpenAI' || kind=='AIServices'].id" -o tsv); do
  az cognitiveservices account deployment list --ids "$acct" \
    --query "[?starts_with(properties.model.name,'o1') || starts_with(properties.model.name,'o3') || starts_with(properties.model.name,'o4')].{account:'$acct', name:name, model:properties.model.name, version:properties.model.version, sku:sku.name, upgrade:properties.versionUpgradeOption}" \
    -o table
done

sku tells you Standard vs Provisioned; upgrade tells you what will happen.

2. Evaluate the replacement

  1. Deploy the replacement (gpt-5.6-sol or gpt-5.6-terra) alongside the old deployment, with a new deployment name.
  2. Run your evaluation set (real prompts with expected outputs or graded criteria) through both.
  3. Compare quality, latency, and tokens per request. Reasoning models differ in how many reasoning tokens they use, which changes cost and rate-limit consumption.
  4. Check API compatibility: parameters such as reasoning_effort, max_completion_tokens, tool calling and structured outputs. Some parameters accepted by o-series models may behave differently or not be supported.

The replacement listed is Microsoft's recommendation, not the only choice. Pick the model that performs best on your workload.

3. Migrate

Standard deployments: switch the application to the new deployment name (preferred, because you control timing), or update the existing deployment's model version yourself before 19 November. Don't wait for the automatic upgrade to happen during business hours.

Provisioned deployments, two options from the documentation:

  • In-place migration: Azure moves traffic over a 20-30 minute window without downtime.
  • Side-by-side: create a new provisioned deployment on the replacement, test, move traffic, delete the old one.

PTU quota is model-agnostic, but you need enough quota available for the target while both deployments exist in a side-by-side migration. Check quota early. Microsoft says the replacement becomes testable in provisioned regions about 30 days before retirement.

4. Don't forget

  • Hard-coded model names in code that checks response.model.
  • Prompt templates tuned for the old model.
  • Token budgets and rate limits sized for the old model's usage.
  • APIM policies or gateways that route by model name.
  • Evaluation baselines and dashboards.

Checklist

  • All o-series deployments listed with SKU and upgrade option
  • Replacement evaluated on your own data (quality, latency, tokens)
  • Standard deployments switched on your schedule, not at auto-upgrade
  • Provisioned deployments migrated (in-place or side-by-side) with quota confirmed
  • Code, prompts, budgets and gateways updated
  • Done well before 19 November 2026

Sources