OpenAI Deprecation Lifecycle Guide: Notice Periods, Shutdown Calendar, Migration Checklist
How OpenAI retires models and APIs: the official difference between deprecation, shut down, and legacy; notice floors of 6 months (GA) and 3 months (specialized variants); real case timelines; and a five-step migration checklist.
How to
Inventory call sites
Turn the model names and endpoints for the batch on the official deprecations page into a list, search all code, CI configuration, and infrastructure-as-code repos for those strings, and check shared notebooks and script directories too.
Map official replacements
Build a mapping table from the Recommended replacement column of each row; for batches with an empty replacement column (such as Sora 2 and the Videos API), assess the destination separately -- do not assume a default landing spot.
Canary the swap
Consolidate model names into a single configuration layer (environment variables or a config service), switch non-critical paths to the replacement first, and watch output quality, latency, and cost.
Regression compare
Run a fixed test set against old and new models, focusing on structured output formats, tool-calling behavior, and edge-case inputs; if behavior diverges, check whether prompts need adjusting for the new model.
Observe leftover traffic
After the switch, watch the Usage dashboard by model and API key for one to two weeks to confirm old-model traffic is zero; set the shutdown date as a team calendar reminder so leftover calls do not fail en masse on shutdown day.
OpenAI does not retire models at random: an explicit lifecycle governs the process -- a deprecation announcement, a published shutdown date, promised minimum notice periods, and recommended replacements for every batch. This article unpacks the official Deprecations page: the difference between three key concepts, the official notice floors, real case timelines to calibrate your intuition, and a migration checklist your team can adopt as-is. All rules and dates are quoted from the official deprecations page and changelog (verified 2026-09-01).
1. Three Concepts: deprecation, shut down, legacy
The official deprecations page draws clear lines between the three terms:
- deprecation: the moment OpenAI announces a model or endpoint is entering retirement, it immediately becomes deprecated. Every deprecated object necessarily carries a shutdown date.
- shut down / sunset: OpenAI states these terms are used interchangeably -- both mean the model or endpoint is no longer accessible. From the shutdown date on, calls fail.
- legacy: models and endpoints that no longer receive updates. OpenAI uses the tag to signal where the platform is moving -- legacy objects will likely be deprecated at some point, but still work today.
The engineering takeaway: treat legacy as your cue to schedule a migration, treat deprecated as a countdown to a hard date, and treat shut down as too late. Chat Completions (the messages field) currently sits in the legacy stage -- the official guidance is to use the Responses API for new projects.
2. Notice Periods: the Official Floors
OpenAI sets minimum notice periods per model type (unless safety or compliance concerns require a faster timeline):
| Model type | Minimum notice | Official examples |
|---|---|---|
| GA models | At least 6 months | — |
| Specialized variants of GA models | At least 3 months | chat variants (gpt-5.1-chat-latest), Codex variants (gpt-5.3-codex), deep research variants (o3-deep-research) |
| Preview models | May be as short as ~2 weeks | computer-use-preview, gpt-4o-audio-preview |
Three companion rules matter just as much:
- Safety and compliance come first: if safety or compliance requires faster retirement, the notice periods above do not apply; OpenAI provides as much notice as reasonably possible.
- Preview is not a production tier: OpenAI explicitly recommends against preview models for business-critical production workloads -- unless you can migrate on short notice.
- Conditional life after shutdown: in some cases you can contact sales to provision dedicated capacity for continued access after the shutdown date. This is a commercial path, not a self-serve switch.
How notice reaches you: customers actively using a model are notified by email, the deprecation is documented on the page, and larger changes also come with blog posts.
3. Calibrating Your Instincts with Real Cases
The rules are floors -- where do real batches land? Four cases that have completed (or are completing) the cycle:
| Case | Announced | Shut down | Actual notice | Rule check |
|---|---|---|---|---|
| Assistants API | 2025-08-26 | 2026-08-26 | 12 months | Well beyond the GA floor (endpoint-scale migration) |
| DALL·E 2 / 3 | 2025-11-14 | 2026-05-12 | About 6 months | Exactly the GA floor |
| gpt-5.2 / gpt-5.3-chat-latest | 2026-05-08 | 2026-08-10 | About 3 months | Exactly the specialized-variant floor |
| Transcription four-pack (whisper-1 et al.) | 2026-08-26 | 2027-02-26 | 6 months | Exactly the GA floor |
Two observations: first, actual execution hugs the floor -- 6 months means 6 months and 3 months means 3 months; do not count on "the average being generous". Second, the 3-month specialized-variant tier is real and enforced; teams building production integrations on aliases like chat-latest should pay particular attention.
4. The Current Shutdown Calendar (2026-09 to 2027-02)
Sorting every unexpired batch on the official deprecations page by date (verified 2026-09-01), the hard dates for the next six months:
| Shutdown date | What shuts down | Replacement |
|---|---|---|
| 2026-09-24 | Videos API; sora-2 / sora-2-pro and snapshots | None (not listed) |
| 2026-09-28 | gpt-3.5-turbo-instruct and other completions-era leftovers | gpt-5.6-terra |
| 2026-10-23 | Legacy GPT snapshot batch (gpt-4-0613, gpt-4-turbo, gpt-4o-2024-05-13, o3-mini, o4-mini, gpt-image-1, and more) | Tier-mapped to GPT-5.6 / gpt-image-2 |
| 2026-10-31 | Existing evals on the Evals platform become read-only | Promptfoo migration guide |
| 2026-11-30 | Evals dashboard and API; v1/prompts; Agent Builder | See the official migration guides |
| 2026-12-01 | gpt-image-1-mini, gpt-image-1.5, chatgpt-image-latest | gpt-image-2 |
| 2026-12-11 | GPT-5 and o3 snapshots (including pro tiers) | Matching GPT-5.6 tiers |
| 2027-01-06 | Self-serve fine-tuning: existing customers stop creating new jobs | Inference remains until the base model is deprecated |
| 2027-01-20 | Legacy audio / realtime families | gpt-realtime-2.1 (mini), gpt-audio-1.5 |
| 2027-02-26 | Transcription four-pack | gpt-live-transcribe / gpt-transcribe |
This calendar keeps changing; the authoritative source is always the official deprecations page. Our weekly briefings track the additions and removals -- see the latest one, OpenAI Ecosystem Week 43 Briefing (2026-09-01): mTLS GA, Sora 2 Countdown, Shutdown Calendar.
5. The Five-Step Migration Checklist
Step one, inventory call sites. Turn the batch's model names from the deprecations page into a list and search your code and configuration globally:
#!/usr/bin/env bash
# Put this batch's model names from the deprecations page in models.txt (one per line)
# and search every code and configuration directory
for m in $(cat models.txt); do
grep -rn --exclude-dir=node_modules --exclude-dir=.git "$m" \
~/projects ~/infra 2>/dev/null
done
Step two, map official replacements. Build a mapping table from each row's Recommended replacement and consolidate it into a single configuration layer instead of hardcoded strings everywhere:
# model_map.py -- central model alias management; a deprecation migration touches one file
MODEL_ALIASES = {
# 2026-12-11 shutdown batch (official replacement suggestions)
"gpt-5-2025-08-07": "gpt-5.6-sol",
"gpt-5-mini-2025-08-07": "gpt-5.6-terra",
"gpt-5-nano-2025-08-07": "gpt-5.6-luna",
"o3-2025-04-16": "gpt-5.6-sol",
}
def resolve(model: str) -> str:
return MODEL_ALIASES.get(model, model)
Step three, canary the swap. Switch a non-critical path to the replacement first and watch quality, latency, and cost. The call itself uses the Responses API's input field -- the model name is just one parameter:
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model=resolve("o3-2025-04-16"), # resolves to gpt-5.6-sol
input="Summarize the payment terms in this contract",
)
print(resp.output_text)
Step four, regression compare. Run a fixed test set against both versions, focusing on structured output formats, tool-calling behavior, and edge cases -- a replacement model from a different generation may need prompt adjustments.
Step five, observe leftover traffic. Watch the Usage dashboard by model and API key for one to two weeks (the dashboard and the Usage API have supported the API-key dimension since 2026-08-04), confirm old-model traffic reaches zero, then set the shutdown date as a calendar backstop.
6. Common Mistakes and Troubleshooting
- Treating legacy as safe: legacy only means updates have stopped -- a deprecation announcement can arrive any time. Chat Completions sitting in legacy is the cautionary tale; new projects should start on the Responses API.
- Running production on preview models: preview notice can be as short as ~2 weeks; OpenAI itself recommends against it. Production belongs on GA models, or behind a two-week migration plan.
- Searching code but not infrastructure: model names hide in Terraform, Helm values, CI scripts, and colleagues' notebooks. Run the inventory command from section 5 over your whole infrastructure tree.
- Ignoring batches with an empty replacement column: no official replacement (such as the Sora 2 batch) does not mean no migration is needed -- it means the migration plan is your responsibility.
- Applying ChatGPT product-side retirement to the API: the product side retires models about 90 days after a successor ships; that calendar is not synchronized with API deprecations. Keep the two calendars separate.
7. Next Steps
- The official rules verbatim: OpenAI Deprecations (the source for every rule and date in this article).
- The timeline view of 2026 H2 updates: OpenAI 2026 H2 Model and API Release Timeline.
- Choosing between Responses API and Chat Completions: Responses API vs Chat Completions: Is It Time to Migrate?.
- Selection logic for replacement mapping: The complete guide to GPT models (2026-07): GPT-5.6 Sol, Terra, Luna.
Key points
- Three official concepts: deprecation (announced and immediately deprecated, always with a shutdown date), shut down / sunset (inaccessible from the shutdown date), legacy (no more updates, likely deprecated later)
- Official notice floors: at least 6 months for GA models; at least 3 months for specialized variants such as chat / codex / deep research; preview models may get as little as ~2 weeks and are not recommended for business-critical production
- Safety or compliance can shorten notice; in some cases dedicated capacity after shutdown is available via the sales team
- Case calibration: Assistants API ran 12 months from announcement to shutdown; DALL·E 2/3 about 6 months; gpt-5.2 / gpt-5.3-chat-latest exactly 3 months (the specialized-variant rule in action)
- 2026-09-24: Sora 2 and the Videos API shut down (no official replacement listed); 10-23 legacy GPT snapshot mass shutdown; 11-30 triple shutdown of Evals / v1/prompts / Agent Builder
- Five migration steps: inventory call sites → map official replacements → canary the swap → regression compare → watch for leftover traffic in the usage dashboard
Frequently asked questions
Official references
- DocsOpenAI Deprecations (official page: definitions, notice-period rules, every batch)
- ChangelogOpenAI API Changelog (first publication channel for deprecation announcements)
- DocsResponses vs Chat Completions official migration guide
- DocsAssistants API official migration guide (the protagonist of the 12-month cycle)
Related articles
How to Track OpenAI Updates: API Changelog, ChatGPT Release Notes, and Official Announcements Done Right
OpenAI publishes updates across three official surfaces. This guide maps their division of labor, explains the 90-day ChatGPT retirement convention versus API deprecations, and gives a weekly review SOP you can actually run.
Read articleOpenAI 2026 H2 Model and API Release Timeline
OpenAI 2026 H2 (2026-07 to 2026-12) timeline of key model and API updates. Every entry sourced from developers.openai.com changelog and OpenAI News.
Read articleOpenAI Models Release Notes (2026, Living Document)
OpenAI's 2026 model and API release log, organised by date with verbatim changelog quotes. Covers GPT-5.6 family launch, DALL·E and Realtime Beta removal, GPT Image 2, GPT-Realtime-2.1, and other milestones.
Read articleSubscribe to GPTMap Weekly
One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.