On this page · 9 sections
Summary. Microsoft Foundry's model retirement schedule retires five Azure OpenAI base models on 14 April 2027: gpt-4.1, gpt-4.1-mini and gpt-4.1-nano (version 2025-04-14), gpt-4o (versions 2024-08-06 and 2024-11-20) and gpt-4o-mini (2024-07-18). That is 90 days after OpenAI removes GPT-4o, GPT-4o mini, GPT-4.1 and GPT-4.1 mini from its own API on 14 January 2027, the same day Azure retires the older gpt-4o 2024-05-13. Retired models return 410 Gone, and Microsoft does not extend retirement dates. The schedule names gpt-5.1 as the replacement for the two gpt-4o versions, but gpt-5.1 itself retires on Azure on 13 July 2027, so an automatic upgrade buys 90 days. The gpt-4.1 family and gpt-4o-mini have no named replacement yet; Microsoft names one about 90 to 120 days before retirement, which puts it between 15 December 2026 and 14 January 2027. Provisioned and Batch deployments are never upgraded automatically. Price is rarely the blocker: GPT-6 Luna lists at $0.10 input and $0.50 output per million tokens on Azure Global Standard, against $2 and $8 for gpt-4.1. Behaviour is the risk. Pick a target per workload, test it on your own traffic and finish the cut-over by 31 March 2027.
About this article. This guide is for engineering leads, platform teams and IT administrators who run gpt-4o or gpt-4.1 deployments on Azure OpenAI in Microsoft Foundry. On 11 November 2026 we checked every date, version, price and deployment rule against Microsoft Learn's retirement schedule, lifecycle policy, migration guide, model list and region tables (in both HTML and Markdown views where relevant), Microsoft's GPT-6 launch post and retail prices API, and OpenAI's deprecations and model pages. Vendors change schedules and prices often, so re-check before you commit. This is not legal advice, and no vendor paid for inclusion. Researched with AI assistance and reviewed by our editorial team.
What retires on Azure on 14 April 2027
The Azure columns below come from Microsoft's model retirement schedule, last updated on 23 September 2026. The OpenAI columns come from OpenAI's deprecations page, which records the 14 October 2026 notice for the GPT-4 series and the October 2026 shutdowns.
| Azure model | Version | Azure lifecycle stage | Azure retirement | Azure-listed replacement | OpenAI API shutdown | OpenAI replacement |
|---|---|---|---|---|---|---|
| gpt-4.1 | 2025-04-14 | Deprecated | 14 Apr 2027 | None listed | 14 Jan 2027 | gpt-6-luna |
| gpt-4.1-mini | 2025-04-14 | Deprecated | 14 Apr 2027 | None listed | 14 Jan 2027 | gpt-6-luna |
| gpt-4.1-nano | 2025-04-14 | Deprecated | 14 Apr 2027 | None listed | Shut 23 Oct 2026 | gpt-5.6-luna |
| gpt-4o | 2024-08-06 | Deprecated | 14 Apr 2027 | gpt-5.1 | 14 Jan 2027 | gpt-6-luna |
| gpt-4o | 2024-11-20 | Legacy | 14 Apr 2027 | gpt-5.1 | 14 Jan 2027 | gpt-6-luna |
| gpt-4o-mini | 2024-07-18 | Deprecated | 14 Apr 2027 | None listed | 14 Jan 2027 | gpt-6-luna |
| gpt-4o | 2024-05-13 | Deprecated | 14 Jan 2027 | gpt-5.1 (2025-11-13) | Shut 23 Oct 2026 | gpt-5.6-sol |
Four details in that table change the plan.
The auto-upgrade target has a short life. gpt-5.1 (2025-11-13) retires on Azure on 13 July 2027, 90 days after 14 April. It leaves the OpenAI API sooner, on 1 April 2027, where OpenAI points users to gpt-6-sol. A Global Standard gpt-4o deployment that Azure upgrades automatically therefore faces a second forced move in July. Our guide to the GPT-5.1 and GPT-5.3-Codex API shutdown covers the OpenAI side of that date.
Legacy is not the same as Deprecated. gpt-4o 2024-11-20 is the only Azure OpenAI row marked Legacy. Microsoft's lifecycle policy allows new deployments of a Legacy model until it moves to Deprecated. A Deprecated version is closed to any subscription that has never deployed that exact version, and a new subscription in the same tenant does not inherit access. If you planned a fresh subscription for a disaster-recovery region, you cannot deploy gpt-4.1 there now.
gpt-4.1-nano lasts longer on Azure. OpenAI shut gpt-4.1-nano-2025-04-14 on 23 October 2026 and suggests gpt-5.6-luna instead. Azure keeps it until 14 April 2027, which gives teams that already moved nano traffic to Azure five more months, not a permanent home.
The footnote does not cover every row. Footnote 3 on the schedule names gpt-4o 2024-08-06 and 2024-11-20, gpt-4o-mini 2024-07-18 and gpt-4.1-mini 2025-04-14. It applies the 14 April date to every active customer-facing base-model inference offer in Azure public cloud and adds that Regional Standard deployments that already retired stay retired. gpt-4.1 and gpt-4.1-nano carry the same date without the footnote, so the page does not say whether any of their Regional Standard deployments retired earlier. Check each region with the Models API before you assume a deployment is still live.
The OpenAI side of this change, including GPT-6 Luna parameter changes and code fixes, is in our GPT-4o and GPT-4.1 OpenAI API shutdown guide. This article stays on Azure.
Which Microsoft page to trust
Microsoft Learn serves each page as HTML and, if you append ?accept=text/markdown, as Markdown. On 11 November 2026 we fetched both views of the schedule and of the lifecycle policy to check that they agree.
- The two views of the schedule match on every row, including every model in this article.
- The two views of the lifecycle policy, stamped 24 July 2026, match each other. Its worked example gives gpt-4o 2024-05-13 the same 14 January 2027 date and gpt-5.1 (2025-11-13) upgrade target as the schedule, and it repeats the 14 April 2027 date for gpt-4o, gpt-4o-mini and gpt-4.1-mini.
- One mismatch remains between the two pages, outside this article's models. For fine-tuned o4-mini, the schedule gives training no earlier than 19 May 2027 and deployment retirement on 19 November 2027, while the lifecycle page gives 16 April and 16 October 2027.
Our rule: plan to the schedule, which the lifecycle page itself names as the place for dates; confirm each region with the Models API's deprecation.inference field; and when two Microsoft pages disagree, plan to the earlier date.
One practical trap for anyone scraping the HTML schedule into a spreadsheet: the footnote marker sits in a superscript straight after the date, so 2027-04-14 with footnote 3 comes out as 2027-04-143 in a plain text extract. Parse the Markdown view or call the API instead.
What happens to each deployment type on 14 April
Microsoft's lifecycle policy and its model migration guide describe the mechanics, and the outcome depends on how you buy capacity.
| Deployment type | What Azure does at retirement | What you should do |
|---|---|---|
| Global Standard, Data Zone Standard | gpt-4o 2024-08-06 and 2024-11-20 upgrade to gpt-5.1, region by region, unless the upgrade policy blocks it. The gpt-4.1 family and gpt-4o-mini have no named target yet | Decide whether you want Microsoft's pick; set NoAutoUpgrade if not |
| Standard (regional) | Same auto-upgrade path where the deployment is still active | Confirm the deployment was not already retired in your region |
| Priority Processing | Same path as Standard | As above |
| Provisioned (Regional, Global, Data Zone) | No upgrade; requests return 410 Gone | In-place migration (20 to 30 minutes, no downtime) or side-by-side; confirm PTU quota first |
| Global Batch | No upgrade; Batch follows the side-by-side path, and Microsoft says a shared retirement date does not mean Global Batch offers are upgraded | Deploy the new model, resubmit jobs, delete the old deployment |
| Any deployment set to NoAutoUpgrade | Stops working | Migrate manually before 14 April |
| Fine-tuned deployments on these bases | Keep serving after 14 April; training for existing customers ends no earlier than 1 April 2027 (gpt-4o, gpt-4o-mini) or 14 April 2027 (gpt-4.1 family) | Deployments stop on 1 October 2027 (gpt-4o, gpt-4o-mini) and 14 October 2027 (gpt-4.1 family) |
The fine-tuning dates come from the schedule's separate fine-tuned table, and the lifecycle page gives the same dates for these models.
The versionUpgradeOption property takes OnceNewDefaultVersionAvailable, OnceCurrentVersionExpired or NoAutoUpgrade. An unset value counts as OnceCurrentVersionExpired, so a deployment nobody configured is upgraded at retirement. You can change the setting through REST, Azure PowerShell or the Foundry portal; the Azure CLI can read it but cannot update it. For Standard auto-upgrades, quota carries over, and Microsoft says an upgrade can happen even where the new version is not yet separately offered in that region or SKU, because the upgrade process adds it.
That convenience is the problem. An automatic swap from gpt-4o to gpt-5.1 changes model behaviour on a date you did not choose, without a test run, and lands you on a model with 90 days left. For anything customer-facing or regulated, set NoAutoUpgrade and migrate deliberately. The trade-off is that a forgotten deployment returns 410 Gone on 14 April, so the inventory has to be complete.
Fine-tuned deployments sit on a separate clock and need retraining or distillation, not a prompt change. Our companion guide, Azure fine-tuned GPT-4o and GPT-4.1 deployments stop in October 2027, covers that path.
Inventory commands
Start by listing every deployment with its model, version, SKU and upgrade policy. Run this per resource, then aggregate across subscriptions. A blank upgrade column means the property is unset.
az cognitiveservices account deployment list \
--resource-group <rg> --name <resource> \
--query "[].{deployment:name, model:properties.model.name, version:properties.model.version, sku:sku.name, upgrade:properties.versionUpgradeOption}" \
--output table
Then check the lifecycle fields for each region you use.
GET https://management.azure.com/subscriptions/{sub}/providers/Microsoft.CognitiveServices/locations/{location}/models?api-version=2024-10-01
Read lifecycleStatus, deprecation.inference, deprecation.fineTune and the per-SKU deprecationDate. Watch the naming: the API value Deprecating means what the docs call Deprecated, and the API value Deprecated means retired. Microsoft says to treat any past deprecation.inference date as retired even if the status field lags.
Choosing a target model
OpenAI's mapping is one model for all four API models: gpt-6-luna. Microsoft's schedule names gpt-5.1 for gpt-4o and, so far, nothing for the rest. Microsoft's GPT-6 launch post adds a third view: it suggests customers on legacy models evaluate GPT-5.6 Sol or newer, and calls GPT-6 Sol a strong starting point for teams moving off a legacy model. Since that post, Azure has also added GPT-6.1 Sol (version 2026-09-29) and GPT-6.1 Terra (2026-10-26).
GPT-6 prices below are Azure Global Standard, short context, from Microsoft's launch post of 22 September 2026. Azure's pricing page did not display rates for GPT-6.1 or GPT-5.x when we fetched it, and the retail prices API lists no meters for them, so check those in the pricing calculator or your agreement.
| Candidate on Azure | Input / output per 1M tokens | Azure retirement | Notes |
|---|---|---|---|
| GPT-6 Luna | $0.10 / $0.50 | Not on the schedule yet | OpenAI's pick for all four API models; launched without Provisioned, now listed for Global and Data Zone Provisioned |
| GPT-6 Sol | $2.00 / $10.00 | Not on the schedule yet | Closest to gpt-4o and gpt-4.1 pricing; Provisioned and Priority Processing at launch |
| GPT-6.1 Sol, GPT-6.1 Terra | Check the pricing page | Not on the schedule yet | Newest GPT-6 versions on Azure; the only GPT-6 models in the Asia Pacific Data Zone |
| gpt-5.6-sol | Check your agreement | 11 Jan 2028 | Microsoft's suggested floor for legacy customers |
| gpt-5.6-terra, gpt-5.6-luna | Check your agreement | 11 Jan 2028 | Longest dated runway among GPT-5.x models |
| gpt-5.4-mini, gpt-5.4-nano | Check your agreement | 21 Sep 2027 | About five months after 14 April |
| gpt-5.1 | Check your agreement | 13 Jul 2027 | Microsoft's listed replacement for gpt-4o; 90 days of runway |
Retirement dates in that table are from the schedule; deployment options are from the launch post and Microsoft's region table, last updated on 19 October 2026.
For comparison, Azure's retail prices API lists Global Standard rates of $2.00 input and $8.00 output for gpt-4.1, $0.40 and $1.60 for gpt-4.1-mini, $0.10 and $0.40 for gpt-4.1-nano, $2.50 and $10.00 for both gpt-4o versions, and $0.15 and $0.60 for gpt-4o-mini. Data Zone and regional rates are 10% higher; gpt-4.1 is $2.20 and $8.80 on a Data Zone deployment in East US.
The behaviour change matters more than the price. OpenAI's GPT-6 Luna page lists reasoning.effort values from none to max, with medium as the default, and says Chat Completions supports function calling only with effort set to none. It also lists a 1,050,000-token context window, 128,000 maximum output tokens and no fine-tuning. Microsoft's model list gives the same window on Azure, with up to 922,000 input tokens. Luna's long-context tier on Global Standard costs $0.20 input and $0.75 output. Set effort explicitly on every call, and if a gpt-4.x workload uses tools through Chat Completions, either start at none or move it to the Responses API.
Microsoft's migration guide warns that reasoning tokens, cached input and structured-output overhead can move unit economics by a factor of two or more, so project cost from your own traffic logs rather than list prices. It also notes that production content capture is opt-in and never covers past traffic. If you are not logging prompts, responses, latency and token counts today, start now, because those logs become your test set.
Worked cost example
Illustrative monthly arithmetic at the Azure Global Standard list prices above, with no caching and the same token counts before and after. eCorpIT did not benchmark these models, and reasoning tokens can change the result, so measure them on your own traffic.
| Workload (monthly tokens) | Today | GPT-6 Sol | GPT-6 Luna |
|---|---|---|---|
| A. Support assistant on gpt-4o 2024-11-20: 1,500M in, 300M out | $3,750 + $3,000 = $6,750 | $3,000 + $3,000 = $6,000 (-11%) | $150 + $150 = $300 (-96%) |
| B. Document extraction on gpt-4.1: 3,000M in, 200M out | $6,000 + $1,600 = $7,600 | $6,000 + $2,000 = $8,000 (+5%) | $300 + $100 = $400 (-95%) |
| C. Classification on gpt-4o-mini: 8,000M in, 400M out | $1,200 + $240 = $1,440 | Not a sensible target | $800 + $200 = $1,000 (-31%) |
| D. Request routing on gpt-4.1-nano: 10,000M in, 500M out | $1,000 + $200 = $1,200 | Not a sensible target | $1,000 + $250 = $1,250 (+4%) |
Two readings. For the full-size models, Luna is an order of magnitude cheaper on paper, but it is a smaller tier, so the real question is whether it holds quality on your task; Sol costs about the same as today and is the safer quality bet. For gpt-4.1-nano, Luna is already slightly dearer before any reasoning tokens. If medium effort doubled output volume in Scenario D, Luna would cost $1,000 + $500 = $1,500, 25% above today. Run nano-class workloads at effort none and compare.
EU Data Zone customers pay more on both sides: Luna is $0.12 and $0.60 there, so Scenario C becomes $960 + $240 = $1,200. To rerun these numbers on your own prompts, count a real request in our LLM token counter and multiply by your monthly volume.
IT admin runbook: 154 days to 14 April
From 11 November 2026 there are 154 days to 14 April 2027. Microsoft's six-phase migration model (Discover, Assess, Adapt, Validate, Roll out, Retire) fits this deadline well. In practice:
- Inventory every deployment. Use the CLI query above across all subscriptions and regions. Record model, version, deployment type,
versionUpgradeOptionand owner. Flag fine-tuned deployments for the separate October plan.
- Map callers to deployments. Code calls a deployment name, not a model, so dependencies hide in apps, Logic Apps, Power Platform flows, agents and gateway routes. Search configs and environment variables for every deployment name.
- Set alerts. In Azure Service Health, filter health advisories by
Azure OpenAI Service(there is no separate Microsoft Foundry entry) and route them to email or a webhook. Microsoft sends its retirement email at least 60 days ahead, so it should reach subscription owners by 13 February 2027.
- Set upgrade policy now. Choose
NoAutoUpgradefor regulated and customer-facing workloads. Elsewhere, decide whether a 90-day stop on gpt-5.1 is acceptable.
- Freeze a test set per workload. Capture 200 to 500 recent production traces, label the cases that matter, and record baseline quality, p95 latency and cost per task on the current model.
- Shortlist two targets per workload. Typically GPT-6 Sol and GPT-6 Luna, plus gpt-5.6-sol if your organisation prefers Microsoft's suggested floor. Confirm region, deployment type, quota and content-filter settings for each.
- Replay unchanged, then adapt. Run current prompts on each target before changing anything, so you can separate model-driven changes from your own. Then fix effort settings, removed parameters, tool definitions and output schemas.
- Plan Provisioned moves. Check that your target is offered as Provisioned in your region, book PTU quota early, choose in-place or side-by-side migration, and schedule it outside peak hours. Microsoft says a named replacement reaches provisioned regions only about 30 days before retirement, around 15 March 2027.
- Move Batch jobs. Create the new deployment, resubmit queued jobs, then delete the old deployment.
- Canary through a gateway. Route 5%, then 25%, then 100% of traffic, keeping the old deployment warm as a rollback path. Microsoft's guide notes that embedded product teams typically keep about 30 days of rollback corridor.
- Retire and watch. Delete old deployments after cut-over, then alert on any
410 Gonefrom a gpt-4o or gpt-4.1 deployment name after 14 April.
| Window | Milestone |
|---|---|
| 11 Nov to 14 Dec 2026 | Inventory, alerts, upgrade policy, logging switched on |
| 15 Dec 2026 to 14 Jan 2027 | Microsoft's replacement-naming window; test sets frozen; first candidate scores |
| 14 Jan 2027 | OpenAI API shutdown; Azure retires gpt-4o 2024-05-13 |
| By 13 Feb 2027 | Microsoft's 60-day email; prompt, schema and code fixes done |
| 15 Feb to 15 Mar 2027 | Canary, then full traffic for Standard deployments; Provisioned plans approved |
| By 31 Mar 2027 | All gpt-4o and gpt-4.1 base traffic at zero |
| 14 Apr 2027 | Retirement; 410 monitoring on |
| 13 Jul 2027 | gpt-5.1 retires: any auto-upgraded deployment must have moved again |
An AI gateway turns each cut-over into a configuration change rather than a code release; our AI gateway comparison weighs the main options.
India, EU and US notes
India. Microsoft's region table, last updated on 19 October 2026, shows how thin in-country options are. For Regional Standard in South India it lists gpt-4o 2024-11-20 and gpt-4.1-mini, both retiring on 14 April, and no GPT-5.x or GPT-6 text model; Central India does not appear in the table. Regional Provisioned in South India adds gpt-5.1 and gpt-5-mini, which retire on 13 July 2027, and gpt-5.4-mini, which retires on 21 September 2027, but no GPT-5.6 or GPT-6 model. The Asia Pacific Data Zone keeps processing within Asia Pacific, not within India, and offers gpt-5.6-sol, GPT-6.1 Sol and GPT-6.1 Terra but not GPT-6 Sol or Luna. Global Standard may process prompts in any Azure region. If your DPDP Act assessment requires in-country processing, confirm availability for your chosen target in South India before you commit, and keep the current deployment until the new one is live there.
EU. The EU Data Zone carries a 20% premium over Global Standard for GPT-6 models: Sol costs $2.40 input and $12 output, Luna $0.12 and $0.60. Budget the uplift if a gpt-4o or gpt-4.1 workload runs in an EU Data Zone today, and check that the target is offered in the same zone.
US. The US Data Zone carries a 10% premium for GPT-6 models. Azure Government works differently: Global Standard is not available there, and Microsoft says government clouds typically support one version of a model at a time, with a 30-day overlap when a new version arrives. Government tenants should ask their Microsoft account team for their own dates rather than rely on the public-cloud schedule.
How eCorpIT can help
eCorpIT is a Gurugram-based technology organisation, founded in 2021, assessed at CMMI Level 5 and MSME certified, with senior-led engineering teams working across AWS, Microsoft and Google platforms. Our LLM migration and cost-optimisation service inventories gpt-4o and gpt-4.1 deployments, builds frozen test sets from your own traffic and moves each workload to a tested target before 14 April 2027. Talk to us at /contact-us/.
Last updated: 11 November 2026.