AI DevelopmentPlaybook11 min readPublished July 30, 2026

Three unrelated sunsets in one month · 91-day, 184-day, and 12-month runways · none coordinated

Model Deprecations: An API Sunset Survival Playbook

DeepSeek retired its legacy API aliases on July 24. The MCP spec deprecated three protocol capabilities on July 28. OpenAI’s Sora API keeps counting down to a September 24 shutdown. Three unrelated clocks, three different runway shapes — and a repeatable playbook for making the next one boring.

DA
Digital Applied Team
Senior strategists · Published Jul 30, 2026
PublishedJul 30, 2026
Read time11 min
Sources7 primary pages
Sunset clocks in one month
3
DeepSeek · MCP · Sora clock
July 2026
DeepSeek alias notice
91days
Apr 24 → Jul 24, 2026
MCP compatibility floor
12mo
for deprecated features
announced Jul 28
Anthropic notice floor
60days
before model retirement

A model deprecation calendar stopped being optional this month. Inside one July, DeepSeek retired its legacy deepseek-chat and deepseek-reasoner API aliases, the Model Context Protocol spec formally deprecated three protocol capabilities, and OpenAI’s Sora API kept counting down to its September 24 shutdown — three unrelated providers, three unrelated clocks, zero coordination between them.

What’s at stake is not dramatic downtime; it’s the quiet 400 error on a Tuesday morning when an alias you forgot you were calling stops resolving. Every one of these sunsets was announced well in advance — three months, roughly six months, and a twelve-month floor respectively. The operational failure mode in 2026 is not “no warning.” It’s “warning ignored, because nobody on the team owned tracking it.”

This playbook lines up the three July clocks side by side, borrows the cleanest public deprecation policy (Anthropic’s four-stage lifecycle) as a template, normalizes four vendors’ notice periods into one comparison table you won’t find anywhere else, and then walks through the four moves — inventory, contract tests, a routing layer, and an owned calendar — that turn a surprise cutover into a scheduled, boring migration.

Key takeaways
  1. 01
    Deprecation is now a monthly operating cost.July 2026 alone saw DeepSeek retire its legacy API aliases (Jul 24), the MCP spec deprecate Roots, Sampling, and Logging (Jul 28), and OpenAI's Sora API countdown continue toward Sep 24. Unrelated vendors, overlapping clocks.
  2. 02
    No vendor broke calls silently — every clock was public.DeepSeek gave 91 days' notice, OpenAI gave 184 days on Sora, Anthropic guarantees a 60-day floor, and MCP guarantees twelve months of continued function. The risk is unowned tracking, not missing warnings.
  3. 03
    Blast radius differs — so must the response.DeepSeek's was a narrow alias rename; Sora's is a full product exit with no replacement model listed; MCP's is a backward-compatible protocol deprecation. One response template cannot fit all three.
  4. 04
    Anthropic's policy is the template worth copying.A written 60-day minimum notice, a four-stage Active → Legacy → Deprecated → Retired lifecycle, a self-serve usage CSV to find stragglers, and an explicit note that Bedrock and Google Cloud set their own dates.
  5. 05
    Four moves make the next sunset boring.A model-reference inventory (IDs, aliases, parameters, protocol capabilities), contract tests that fail loudly, an internal routing alias per capability, and an owned deprecation calendar with a comms template.

01The Pile-UpOne July, three unrelated sunset clocks.

None of these three events had anything to do with each other. A model provider renamed its API surface, a protocol spec shed old capabilities, and an AI-video product line continued its wind-down. They didn’t share a cadence, a notice format, or an announcement channel — which is precisely the point. If your stack touches more than one AI provider, deprecation events now arrive on independent, overlapping schedules that no single vendor page will summarize for you.

Jul 24, 2026
DeepSeek alias retirement
91days

The legacy deepseek-chat and deepseek-reasoner API model names were retired at 15:59 UTC, exactly as the April 24 changelog entry scheduled — a fixed calendar date, not a vague 'coming soon.'

Narrow rename
Jul 28, 2026
MCP spec deprecations
12mo

The 2026-07-28 MCP release formally deprecated Roots, Sampling, and Logging, plus the legacy HTTP+SSE transport — with a written guarantee of at least twelve months' continued function.

Protocol capability
Sep 24, 2026
Sora API sunset clock
184days

OpenAI notified developers on March 24 that the Videos API and every Sora 2 model alias and snapshot will be removed on September 24 — roughly six months' notice, with no successor model listed.

Full product exit

The runway shapes are as different as the events themselves. Plotted against a twelve-month baseline, the four notice policies in this post — the three July actors plus Anthropic’s written floor — look like this:

Deprecation runways · days of notice, normalized to a 12-month baseline

Source: vendor policy pages; day counts computed from each announced → effective date
MCP compatibility floorDeprecated Jul 28, 2026 · removal no earlier than ~Jul 2027
≥365 days
OpenAI Sora API noticeAnnounced Mar 24 → shutdown Sep 24, 2026
184 days
DeepSeek alias noticeAnnounced Apr 24 → retired Jul 24, 2026
91 days
Anthropic policy floorWritten minimum for publicly released models
≥60 days

Read one trend out of that chart before moving on: every provider here gave real, dated, public notice. Across all four policies studied for this post, not one silently broke existing calls on announcement day. The gap between “vendor announced it in April” and “our integration threw 400s in July” is entirely on the consuming team’s side of the fence — which is good news, because it means the fix is a process you control, not a vendor behavior you have to hope for.

02DeepSeekThe alias retirement: a rename with teeth.

DeepSeek’s April 24, 2026 changelog entry was unambiguous: “The two legacy API model names, deepseek-chat and deepseek-reasoner, will be discontinued in three months (2026-07-24).” The cutover landed on schedule — July 24, 2026 at 15:59 UTC — per the DeepSeek API changelog. Requests using the old names now route or fail per the documented cutover rather than quietly resolving to whatever DeepSeek’s current default happens to be.

The replacement naming is the V4-era scheme: deepseek-v4-flash and deepseek-v4-pro are the current model IDs on the DeepSeek models and pricing page, while the retired aliases pointed at the naming convention that predates V4. As of this writing, V4 itself is still in its Preview naming era — the alias retirement was a housekeeping move around that generation shift, not a capability change.

That makes DeepSeek’s the narrowest blast radius of the month: same underlying capability, new name only. It’s also the most instructive failure case, because a pure rename is exactly the kind of change that survives every functional test except the one that actually calls the API with the old string. We covered the migration mechanics in detail in DeepSeek’s Jul 24 alias retirement, in detail — the short version is that a one-line model-ID constant was the difference between a non-event and an outage.

Worth noting for calendar-builders: DeepSeek named the exact cutover date in the same changelog entry that announced the deprecation, 91 days ahead. A fixed date you can put on a calendar is materially more useful than a floating “at least N days” policy — it converts a monitoring problem into a scheduling problem.

03OpenAI SoraA full product exit, not a migration.

The Sora wind-down is the opposite shape. OpenAI discontinued the Sora web and app experiences on April 26, 2026, and the underlying API follows on September 24, 2026. The OpenAI deprecations page states it plainly: “On March 24th, 2026, we notified developers using the Videos API and Sora 2 video generation model aliases and snapshots of their deprecation and removal from the API on September 24, 2026.”

Six named surfaces sunset together on that date: the Videos API itself, plus the model IDs and snapshots sora-2, sora-2-pro, sora-2-2025-10-06, sora-2-2025-12-08, and sora-2-pro-2025-10-06. Critically, the deprecations page lists no recommended replacement for any of them. This is an exit from a product line, not a migration to a successor model — teams building on Sora need a different vendor, not a new model string. For the competitive lay of the land those teams are now shopping in, see our AI video generation comparison, which was already tracking the September 24 sunset clock in May.

If you have Sora assets
OpenAI provides a self-serve export path at sora.chatgpt.com/sunset for users to pull generated Sora content before final deletion, with email notice if a final export window opens, per the OpenAI Help Center’s Sora discontinuation article. As of July 30, the API shutdown is 56 days out — export first, renegotiate your video stack second.

The Sora case adds one more column to your calendar schema: notice length varies with blast radius. OpenAI gave roughly six months — 184 days from the March 24 notification to the September 24 removal — for a full product exit, double DeepSeek’s runway for a rename. That’s a pattern worth internalizing rather than a rule you can rely on: bigger disruptions have tended to come with longer runways, but nothing obligates a vendor to keep that proportion.

04MCPProtocol-level deprecation, with a 12-month floor.

The third clock is a spec, not a vendor. The Model Context Protocol’s 2026-07-28 specification release formally deprecated three capabilities — Roots, Sampling, and Logging — along with the legacy HTTP+SSE transport. Unlike a model retirement, nothing broke on announcement day, and the spec commits in writing to keeping it that way for at least a year.

The headline change in the same release explains why the old pieces had to go: MCP moved to a stateless protocol core. Each request now carries its own protocol version and client identity instead of relying on a session handshake with an Mcp-Session-Id header — which is what lets MCP servers run behind standard load balancers without shared session storage. The HTTP+SSE transport being shed here was already deprecated back on March 26, 2025, in favor of stdio and Streamable HTTP; any integration guide still recommending SSE for new builds is working from stale documentation.

"They still work, and they'll keep working for at least twelve months."— MCP 2026-07-28 specification release notes, on the deprecated capabilities

One trap specific to MCP inventories: capability names live on both sides of the client/server boundary, and teams routinely file them on the wrong side. In MCP’s architecture, Sampling, Roots, and Elicitation are capabilities declared by clients, not servers — so when you audit “which of our MCP surfaces touch a deprecated capability,” check your client configurations and host applications, not just the server manifests. An inventory that only greps server code will report a false all-clear.

The twelve-month floor makes MCP the gentlest of the three July events — and also the easiest to procrastinate on. A deprecation with no near-term breakage date is exactly the item that needs a calendar entry with an owner, because nothing else will ever force it onto a sprint board until the floor runs out, no earlier than late July 2027.

05The TemplateAnthropic’s four-stage lifecycle — the policy worth copying.

If you’re going to model your internal deprecation calendar on one public policy, Anthropic’s model deprecations page is the cleanest template we found. The written commitment: “Anthropic notifies customers with active deployments for models with upcoming retirements, providing at least 60 days’ notice before model retirement for publicly released models.” Around that floor sits an explicit four-stage lifecycle:

Stage 1
Active
fully supported

The current, recommended state. New integrations should target Active models; no deprecation clock is running.

Build here
Stage 2
Legacy
superseded, still served

A newer model has replaced it as the recommended option. Still works, but the direction of travel is set — start planning the move.

Plan the migration
Stage 3
Deprecated
retirement date announced

The 60-day-minimum notice clock is running toward a named retirement date. This is the stage your contract tests and calendar exist to catch.

Clock running
Stage 4
Retired
requests fail

Calls to a retired model fail outright. Any straggler references in your codebase surface here as production errors.

Hard stop

The documented model table shows this is a working cadence, not a paper policy. Computing the gaps from Anthropic’s own published dates: claude-opus-4-1-20250805 was deprecated June 5, 2026 with retirement set for August 5, 2026 — a 61-day gap. claude-sonnet-4-20250514 and claude-opus-4-20250514 were deprecated April 14 and retired June 15, 2026 — 62 days. claude-3-haiku-20240307 went from a February 19 deprecation to an April 20, 2026 retirement — 60 days on the nose. Every observed window clears the written 60-day floor, by zero to two days of margin.

Three more details make the policy worth copying wholesale. First, deprecation isn’t deletion: Anthropic commits to preserving the weights of every publicly released model for “at minimum, the lifetime of Anthropic as a company,” per its deprecation commitments — retired from the API is not gone forever. Second, deprecation reaches below the model level: temperature, top_p, and top_k now return a 400 error if set to a non-default value on Claude Opus 4.7 and later — a parameter-level deprecation that a naive model-ID inventory would miss entirely. Third, there’s a self-serve audit: the Claude Console’s usage export (CSV, broken down by API key and model) exists specifically so teams can find lingering calls to deprecated models before the retirement date.

The reseller trap
Anthropic’s policy page is explicit that its dates are not universal: “The dates on this page apply to Anthropic-operated platforms… Partner-operated platforms (Amazon Bedrock and Google Cloud) set their own retirement schedules, so a model’s lifecycle status and dates can differ.” If you consume a model through a cloud reseller, the model vendor’s deprecation page alone is not enough — you need the reseller’s lifecycle page on your calendar too.

The cloud-platform side has its own runway shapes, though we could only confirm the specifics through secondary documentation summaries. Google Cloud’s Vertex AI lifecycle policy reportedly blocks new access to a retiring model about one month before its retirement date (for online inference, batch inference, and tuning), and its “short-term availability” model class reportedly retires 45 days after a replacement model ships — materially different shapes from Anthropic’s fixed 60-day floor or OpenAI’s six-month Sora notice. Verify both figures against the live Vertex AI model-lifecycle documentation before planning around them. Secondary tracking of Vertex AI release notes likewise reports that Gemini 2.5 Pro, Flash, and Flash-Lite retirement dates were pushed out to October 16, 2026 — a useful reminder that deprecation dates are not fixed in stone. They get extended, which is one more reason an owned calendar beats a one-time migration scramble.

06Proprietary ComparisonFour runways, one table.

No vendor publishes this view, because each states its policy in a different format — a fixed calendar date, an “at least N days” floor, or an “at least N months” compatibility guarantee. The table below normalizes the four policies covered in this post onto one comparable grid. Day counts are computed from each pair of announced and effective dates; policy floors are quoted as stated.

Deprecation notice-period comparison across DeepSeek, OpenAI, Anthropic, and the Model Context Protocol, normalizing announcement dates, effective dates, stated runways, and blast radius, compiled from each provider’s primary policy page.
Provider · surfaceAnnouncedEffectiveStated runwayBlast radius
Model & API sunsets
DeepSeek — legacy aliases deepseek-chat / deepseek-reasonerApr 24, 2026 (changelog)Jul 24, 2026 · 15:59 UTC3 months — 91 days, fixed dateNarrow rename — same capability, new model IDs
OpenAI — Videos API + 5 Sora 2 model IDs/snapshotsMar 24, 2026 (developer notice)Sep 24, 2026~6 months — 184 days, fixed dateFull product exit — no replacement model listed
Anthropic — Claude models (written policy)Rolling — e.g. Opus 4.1 deprecated Jun 5, 2026Per model — e.g. Opus 4.1 retires Aug 5, 2026≥60-day floor — observed gaps 60-62 daysModel retirement — retired-model requests fail outright
Protocol-spec deprecations
MCP — Roots, Sampling, Logging + HTTP+SSE transportJul 28, 2026 (spec release)No earlier than ~Jul 2027 (12-month floor)≥12 months, guaranteed in spec textProtocol capability — backward-compatible during runway

Sources: the DeepSeek API changelog, OpenAI’s API deprecations page, Anthropic’s model-deprecations page, and the MCP 2026-07-28 release notes — all primary. The lifecycle-stage vocabulary (Active → Legacy → Deprecated → Retired) is Anthropic’s; the other providers don’t name their stages, which is itself a finding. When you build the internal version of this table, add two columns the vendors can’t give you: which of your systems reference each surface, and who owns the migration.

07The PlaybookFour moves that make sunsets boring.

Vendor deprecation pages tell you when something breaks. None of them tell you how to build the muscle that stops it from being a surprise. That gap is the playbook — four moves, in dependency order:

Move 01
Build a model-reference inventory

Enumerate every model ID, alias, endpoint, request parameter, and protocol capability your stack touches — parameters included, since Anthropic now 400s non-default temperature/top_p/top_k on newer models, and MCP capabilities must be filed on the correct side of the client/server boundary. Anthropic's Console usage CSV (by API key and model) is the copyable pattern.

Own the list
Move 02
Add contract tests on real calls

A scheduled job that exercises each inventoried model ID and alias with a minimal live request, alerting on 4xx responses or new deprecation signals. A pure rename like DeepSeek's July 24 cutover passes every mocked test you have — only a real call catches it the hour it lands.

Fail loudly, early
Move 03
Route through an abstraction layer

One internal alias per capability ('fast-drafting', 'long-context-review'), mapped to vendor model IDs in a single config. A vendor sunset becomes a one-line config change plus an eval run — not a grep across every repo you own.

One-line migrations
Move 04
Own a deprecation calendar + comms template

None of the three primary vendor pages reviewed for this post published a machine-readable deprecation feed as of this writing — you must poll. Assign an owner, review the policy pages monthly, calendar every named date, and pre-draft the internal and client comms so announcement day is paperwork, not panic.

Calendar, not memory

Move 03 is where most teams get the compounding return, because it converts every future sunset from an engineering project into a configuration decision. If you already run multi-vendor routing for cost reasons, you have this layer — our LLM model-routing engineering guide covers the architecture, and pairing a deprecation calendar with a cost-routing discipline means the same inventory serves two budgets: risk and spend.

Looking forward, we’d expect the deprecation tempo to accelerate rather than settle. Model generations are shipping closer together, protocol specs are versioning faster, and July 2026’s three overlapping clocks are more likely a preview of the ordinary operating environment than an outlier month. Machine-readable deprecation feeds may eventually emerge — the absence is conspicuous — but until they do, the owned calendar is the only reliable substitute. If you’d rather not build that operational muscle alone, our AI transformation engagements set up exactly this kind of vendor-lifecycle governance alongside the routing layer it depends on.

08ConclusionDeprecation is a calendar problem now.

The operating reality, July 2026

The vendors all gave notice. The question is whether anyone on your team owns hearing it.

July 2026 put three unrelated sunset clocks on the same page: DeepSeek’s 91-day alias retirement, MCP’s twelve-month protocol deprecation, and the ongoing 184-day countdown on OpenAI’s Sora API. Different vendors, different runway shapes, different blast radii — and not one of them broke existing calls without dated, public warning.

That’s the honest reframe: model deprecation in 2026 is not a vendor-risk story, it’s an ownership story. Anthropic’s four-stage lifecycle and 60-day floor show what a mature policy looks like; the reseller carve-out for Bedrock and Google Cloud shows why one vendor’s page is never the whole picture; and the absence of any machine-readable feed shows why the tracking burden currently sits with you.

The playbook is deliberately unglamorous — an inventory, a contract test, a routing alias, a calendar with a name attached. Teams that run those four moves experience API sunsets as scheduled maintenance windows. Teams that don’t experience them as a 400 error on a Tuesday morning, followed by an archaeology project. Choose the boring version.

Make model sunsets a non-event

Every provider gave notice. We make sure your stack actually hears it.

Our team builds the vendor-lifecycle governance layer — model inventories, contract tests, routing abstractions, and owned deprecation calendars — so provider sunsets become scheduled config changes, not outages.

Free consultationExpert guidanceTailored solutions
What we work on

AI vendor-lifecycle engagements

  • Model-reference inventories across every repo and API key
  • Contract-test suites that catch cutovers the hour they land
  • Multi-vendor routing layers — one-line model migrations
  • Deprecation calendars with owners and comms templates
  • Cost + risk governance for multi-provider AI stacks
FAQ · Deprecation survival

Sunset questions, answered.

DeepSeek retired its two legacy API model-name aliases, deepseek-chat and deepseek-reasoner, on July 24, 2026 at 15:59 UTC. The retirement was announced in the DeepSeek API changelog on April 24, 2026 — exactly three months (91 days) ahead — with the cutover date named explicitly rather than left as a vague 'coming soon.' Requests using the old names now route or fail per the documented cutover. The current model IDs on DeepSeek's pricing page are deepseek-v4-flash and deepseek-v4-pro; the retired aliases pointed at the naming scheme that predates the V4 generation. Because it was a pure rename with no capability change, the fix for most teams was a one-line model-ID constant — provided someone knew the date was coming.
Related dispatches

Continue exploring AI platform shifts.