OpenAI has published seven shutdown dates. Here is the calendar.

Seven dates between 23 October and 26 February. Every one announced months ahead, in public. The failure mode is never the notice.

The calendar

Everything below is taken from OpenAI's own deprecations page. Each entry was announced in public, months in advance, with a date attached. None of it is a surprise, which is exactly what makes it dangerous: an announced deprecation only breaks the teams that were not looking.

24 September 2026: the Videos API and the sora-2 and sora-2-pro models are removed. No replacement is named. Announced 24 March 2026.

23 October 2026: o1, o1-pro, o3-mini, o4-mini, gpt-3.5-turbo-0125, gpt-4-0613, gpt-4-1106-preview, gpt-4-turbo and their fine-tuned variants. Announced 22 April 2026. Migrations point at the GPT-5.6 family.

30 November 2026: the v1/prompts reusable prompts API, the Evals dashboard and API, and Agent Builder. Announced 3 June 2026.

1 December 2026: gpt-image-1-mini, gpt-image-1.5 and chatgpt-image-latest, replaced by gpt-image-2. Announced 2 June 2026.

11 December 2026: older GPT-5 and o3 snapshots, including gpt-5-2025-08-07, gpt-5-mini, gpt-5-nano, gpt-5-pro and o3-pro snapshots. Announced 11 June 2026.

20 January 2027: the legacy audio and realtime family, including gpt-realtime, gpt-audio, gpt-4o-audio, gpt-4o-realtime and their mini variants. Announced 20 July 2026.

26 February 2027: whisper-1, gpt-4o-transcribe, gpt-4o-mini-transcribe and gpt-4o-transcribe-diarize, replaced by gpt-transcribe or gpt-live-transcribe. Announced 26 August 2026.

Which of these will actually bite

Rank them by where the call sits rather than by how soon the date is. A model string in your main request path gets caught in staging within a day. A model string in a nightly job, a webhook handler or an admin-only feature can fail silently for weeks, because those paths fail into a queue or a log rather than into a user's face.

On that reading the October reasoning-model shutdown is the sharpest of the set. o3-mini and o4-mini are reasoning models, which means teams typically route to them on an escalation path: the retry after a cheaper model failed validation, the "hard case" branch, the complex-document handler. Those branches are the least exercised in testing and the most expensive when they stop working, because by definition they only run when something already needed care.

The 30 November platform shutdown is different in kind. Agent Builder, the Evals dashboard and reusable prompts are not code paths, they are places your process lives. Your evaluation history and your prompt library sit there. When that dashboard closes it takes your baselines with it, and you cannot re-run last quarter's evals to compare afterwards.

Finding them without reading the whole codebase

Model identifiers are strings, which is what makes this tractable. A single grep across your repository for the affected identifiers will find the large majority of call sites in a couple of minutes.

Two places that grep will miss, and that are worth checking by hand: configuration that lives outside the repo, such as environment variables, feature flags, or a model name stored in a database row per customer; and anything that builds a model string by concatenation, which is rare but does happen in routing code that assembles a family name and a size.

grep -rn "o3-mini\|o4-mini\|o1-pro\|gpt-4-turbo\|gpt-3.5-turbo" your repository

grep -rn "whisper-1\|gpt-4o-transcribe\|gpt-4o-mini-transcribe" for the February date

grep -rn "sora-2\|/videos" for the September one

Check environment variables and any per-tenant model configuration stored in your database

Check dashboards and scheduled jobs, which are the paths least likely to be covered by tests

We got this wrong ourselves, which is the point

Our own Cost Comparator listed o3-mini and o4-mini as current models with no caveat, and we publish a dedicated pricing page for o3-mini. Both have had a published shutdown date since 22 April 2026.

Worse, our weekly automated price check flagged both models on 5 September because their prices no longer appeared on OpenAI's current pricing page, and we recorded that as a likely false positive. The tool was right and the person reading it was wrong. The entries now carry the shutdown date, and the correction is published in the price change log rather than quietly applied.

We mention it because the mechanism that failed here is the same one that fails everywhere else: not the absence of a signal, but a human deciding the signal was noise.

What to do

Grep for the identifiers above today. It is a two-minute job and it converts an unknown into a list.

Export your Evals history and your reusable prompts before 30 November. Those are baselines you cannot reconstruct afterwards.

If you use the Videos API or Sora 2, treat 24 September as a vendor-selection deadline, not a migration deadline. Nothing inside OpenAI replaces it.

Put the deprecations page on a calendar reminder, monthly. It is functionally a certificate expiry list.

Check per-tenant or per-environment model configuration, which lives outside the repo and will not show up in a grep.