GPTMap

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.

TL;DR
OpenAI's retirement rules: deprecation takes effect immediately on announcement, every deprecated object carries a shut down date, and legacy means updates stopped. Notice floors: 6 months GA, 3 months variants, ~2 weeks preview. Assistants API ran 12 months; DALL·E 2/3 about 6; chat-latest snapshots exactly 3. Includes a five-step migration checklist and the shutdown calendar to 2027-02.
The OpenAI deprecation lifecycle is the official process for retiring models and APIs: a deprecation announcement immediately marks the model or endpoint deprecated and publishes a shut down date, after which it is no longer accessible; legacy means updates have stopped but the endpoint still works. OpenAI promises minimum notice periods and publishes every batch with recommended replacements on its Deprecations page.

How to

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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 typeMinimum noticeOfficial examples
GA modelsAt least 6 months
Specialized variants of GA modelsAt least 3 monthschat variants (gpt-5.1-chat-latest), Codex variants (gpt-5.3-codex), deep research variants (o3-deep-research)
Preview modelsMay be as short as ~2 weekscomputer-use-preview, gpt-4o-audio-preview

Three companion rules matter just as much:

  1. 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.
  2. Preview is not a production tier: OpenAI explicitly recommends against preview models for business-critical production workloads -- unless you can migrate on short notice.
  3. 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:

CaseAnnouncedShut downActual noticeRule check
Assistants API2025-08-262026-08-2612 monthsWell beyond the GA floor (endpoint-scale migration)
DALL·E 2 / 32025-11-142026-05-12About 6 monthsExactly the GA floor
gpt-5.2 / gpt-5.3-chat-latest2026-05-082026-08-10About 3 monthsExactly the specialized-variant floor
Transcription four-pack (whisper-1 et al.)2026-08-262027-02-266 monthsExactly 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 dateWhat shuts downReplacement
2026-09-24Videos API; sora-2 / sora-2-pro and snapshotsNone (not listed)
2026-09-28gpt-3.5-turbo-instruct and other completions-era leftoversgpt-5.6-terra
2026-10-23Legacy 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-31Existing evals on the Evals platform become read-onlyPromptfoo migration guide
2026-11-30Evals dashboard and API; v1/prompts; Agent BuilderSee the official migration guides
2026-12-01gpt-image-1-mini, gpt-image-1.5, chatgpt-image-latestgpt-image-2
2026-12-11GPT-5 and o3 snapshots (including pro tiers)Matching GPT-5.6 tiers
2027-01-06Self-serve fine-tuning: existing customers stop creating new jobsInference remains until the base model is deprecated
2027-01-20Legacy audio / realtime familiesgpt-realtime-2.1 (mini), gpt-audio-1.5
2027-02-26Transcription four-packgpt-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

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

Per the official deprecations page: when OpenAI announces that a model or endpoint is being deprecated, it immediately becomes deprecated, and every deprecated model or endpoint also has a shut down date; at that date it is no longer accessible. Sunset and shut down are used interchangeably. Legacy refers to models and endpoints that no longer receive updates -- not yet deprecated, but signaling where the platform is moving; expect them to be deprecated at some point.

Official references

Related articles

Subscribe to GPTMap Weekly

One email every Monday: curated OpenAI updates, deep dives, and best practices. No ads, unsubscribe anytime.

GPTMap EditorialPublished 2026-09-01 7 min read
Test environment (EEAT)
Last tested: 2026-09-01
Model used: gpt-5.6