Model aliases and model retirements are the two ways an API model ID stops meaning what it meant when a system was built: a floating alias silently changes what it points to, and a retired ID stops answering at all. This ledger records both for 2026, from the vendors’ own pages, in two complete tables.
Table A censuses 19 floating aliases: twelve tilde-prefixed aliases read from OpenRouter’s live catalog, Google’s native gemini-flash-latest, OpenAI’s two Daybreak aliases and its *-chat-latest naming pattern, Anthropic’s pre-4.6 convenience-alias pattern, and two rows recording that Anthropic’s current dateless IDs and DeepSeek’s API run no floating alias at all. Table B transcribes 89 retirement rows dated in 2026 across ten vendor groups, with the notice period computed wherever the vendor publishes both the announcement and the shutdown date, and marked not computable or inferred wherever it does not. A handful of those rows name several model IDs on one line, exactly as the vendor’s own table does.
The page is organised so that the tables can be cited cell by cell. A methodology block states what was fetched and when, what was excluded and why, and which cells were inferred rather than read. The as-of date for the dataset is 22 August 2026. The one exception is the live alias-target column in Table A, a single point-in-time reading whose limits that table’s caption states.
- 01The tilde alias is an OpenRouter mechanism, not a GLM quirk.A live pull of OpenRouter’s catalog found 12 ~-prefixed aliases across seven vendors, all on one ~vendor/family-latest pattern and one description template. ~z-ai/glm-latest is the newest (listed 2026-08-19), not the only one.
- 02A -latest name can itself be retired on a clock.OpenAI’s gpt-5.2-chat-latest and gpt-5.3-chat-latest appear as ordinary deprecation entries: announced 2026-05-08, shut down 2026-08-10, 94 days’ notice. chatgpt-image-latest follows with 182 days.
- 03Notice periods are computable for 51 of 89 rows, and they range from 39 to 184 days.Anthropic clusters at 60 to 62 days (one at 114) against a stated floor of at least 60; OpenAI runs tiers of 182 to 184 days for GA models and 94 for the chat aliases; DeepSeek stated three months and delivered 91 days; Mistral varies per model from 39 to 101.
- 04The absences are findings, not gaps.Anthropic states that its 4.6+ dateless IDs are not evergreen pointers; DeepSeek offers no floating alias; Z.ai has no discoverable lifecycle page; xAI’s May 15 wave redirects old slugs instead of failing them. Each is a row.
- 05Table A’s resolves-to column is a dated snapshot, by definition.Alias targets were read from one API pull, a single moment in time rather than a value fixed to the dataset’s as-of date, and the table caption says so. The subject of the table is that these values change without notice, so the column should never be quoted as a standing fact.
01 — ScopeWhat the ledger counts, and what it leaves out.
A floating alias, for Table A, is any API-callable model name that the vendor or router documents as resolving to a different underlying model over time without the caller changing the string. That includes OpenRouter’s ~-prefixed catalog entries, Google’s documented -latest hot-swap, OpenAI’s Daybreak and *-chat-latest names, and Anthropic’s older within-minor-version convenience aliases. Two further rows record, with a source, that a vendor runs no such mechanism: those are kept because the absence is the citable fact.
A retirement, for Table B, is the shutdown or decommission of a specific API-callable model ID: the point at which a request to that literal string starts failing, or, in xAI’s May 15 wave, starts silently redirecting, which the table marks separately. Only rows with a shutdown date in 2026 are included; two Anthropic rows announced in late 2025 are kept because their shutdown fell in 2026 and are labelled as such.
Three categories were deliberately excluded. Consumer-app model switches, such as ChatGPT retiring GPT-4o, GPT-4.1 and o4-mini from the app on February 13, 2026 with no API change, are not model-ID retirements; the underlying API IDs appear in Table B under their own, different API dates. Product or tool retirements that are not model IDs are out, which is why Claude Workbench’s August 17 retirement, a product rather than a model, is absent. Subscription-tier migrations, such as Z.ai’s Legacy Plan phase-out on April 30 and Legacy Plan V2 discontinuation on July 30, are billing changes and are excluded even though they were the only deprecation-adjacent content found on Z.ai’s docs.
Floating aliases
12 OpenRouter tilde aliases, one native Google alias, two OpenAI Daybreak aliases, OpenAI’s *-chat-latest pattern, Anthropic’s pre-4.6 pattern, and two recorded absences (Anthropic 4.6+, DeepSeek).
Model-ID retirements dated 2026
Anthropic 6, OpenAI 31, Google 14, DeepSeek 2, Moonshot 8, Alibaba 2, Z.ai 1, Cohere 5, xAI 8, Mistral 12. Every row of each vendor’s own table is transcribed, and a line that names several IDs at once stays one row here with those IDs in the cell, so 89 is a count of vendor-table rows.
Rows with both dates published
Anthropic, OpenAI, DeepSeek and Mistral publish an announcement (or deprecation) date and a shutdown date on the same page. The other 38 rows are marked not computable (34) or inferred (4) and are never averaged in.
02 — MethodologyA method a stranger could re-run, with its read-versus-inferred line drawn.
Every number on this page comes from one of three operations: a programmatic pull of a public API, a direct fetch of a vendor’s own documentation page, or subtraction between two dates found on the same page. Where a cell rests on anything else, the cell says so in capitals. The full method, including what was not done, follows.
What was collected. Every model-level API deprecation or retirement entry, and every floating or auto-updating model alias, published on the primary lifecycle or model-catalog page of ten model-serving vendors: Anthropic (Claude API), OpenAI, Google (Gemini API), DeepSeek, Moonshot AI (Kimi), Alibaba Cloud Model Studio (Qwen), Z.ai (GLM), Cohere, xAI (Grok) and Mistral AI, plus OpenRouter as the one third-party router surface censused (its ~-prefixed alias catalog and per-model listing dates). Dataset as of 22 August 2026. Alias targets in Table A were read from a single live API pull, checked 23 August 2026, and are a point-in-time value rather than an as-of-date fact, which Table A’s caption restates. Every dated vendor fact (announcement dates, shutdown dates, alias description strings) carries a date of 22 August 2026 or earlier on the vendor’s own page. Several of the pages fetched are undated evergreen documentation and cannot be dated at all; the rows drawn from them say so in their own Listed / dated cell rather than claiming a date. The live resolves-to reading is the one cell class that is not fixed to the as-of date, and every model it names was released on or before 22 August 2026.
Sources, by type. One live API pull: GET https://openrouter.ai/api/v1/models (422 models returned; 12 ~-prefixed aliases extracted programmatically by filtering id). Direct page fetches of vendor documentation: Anthropic’s model-deprecations and model-IDs pages; OpenAI’s deprecations page, models index and the two Daybreak alias sub-pages; Google’s Gemini API deprecations and models pages; DeepSeek’s API change log; Alibaba’s model decommissioning policy; Moonshot’s model list; Cohere’s deprecations page; xAI’s May 15 retirement guide; Mistral’s models overview; and Z.ai’s pricing and GLM-4.6 docs pages, which were checked and found to contain no lifecycle content (recorded as an absence). Two secondary sources, used only where no primary existed and labelled REPORTED: one NVIDIA NIM developer-forum thread for a GLM-5 to GLM-5.1 sunset, and one unresolved GitHub issue for Gemini’s -latest resolved-ID behaviour.
How many items. 19 alias rows in Table A and 89 individual model-ID rows in Table B, 108 in total. The Table B count is of distinct vendor-table rows; where a vendor’s own table lists several IDs on one line (for example Google’s three Imagen 4.0 variants, or Moonshot’s six moonshot-v1 IDs), that line is one row here too, with the IDs named in the cell.
What counts as a retirement. The shutdown of a specific API-callable model ID. Excluded, with reasons: consumer-app model switches with no API change; product or tool retirements that are not model IDs (Claude Workbench, August 17); subscription or billing-tier migrations (Z.ai’s Legacy Plan changes); OpenRouter’s per-model deprecation_date field, a real but ad hoc provider-driven mechanism that is noted as existing rather than enumerated; and any vendor entry, post or thread dated after the as-of date.
READ versus INFERRED. A notice period is printed as a plain number only when both the announcement and the shutdown date were read from the same vendor page and subtracted. Four cells are INFERRED and say so: Alibaba’s qwen-turbo and qwen-turbo-realtime announcement date (about 10 July 2026, derived from the stated 3-month mainline policy; the linked notice post was not opened), and Moonshot’s Kimi K2.5 and moonshot-v1 announcement date (about 17 July 2026, derived from the K3 launch; not on the page). One row is REPORTED: the GLM-5 sunset, sourced only to an NVIDIA NIM forum thread. The 2098-12-31 expiry on ~z-ai/glm-latest is a PLACEHOLDER: it is OpenRouter’s generic no-expiry value, seen identically elsewhere in the catalog, not a stated lifespan.
Known limitations. (1) Four of Alibaba’s five 2026 retirement waves (May 31, May 13, March 30, January 30) are named on the policy page by date only, each linking to a separate notice post whose model IDs were not opened in this pass; they are recorded as a gap with IDs not resolved. (2) Google’s table gives release dates, not announcement dates, so no Google row has a computable notice. (3) Moonshot’s K2-series rows have no stated announcement date. (4) Cohere’s page does not distinguish announcement from effective date for its 2026 entries, so only a shutdown date is recorded. (5) Where a vendor’s summary table was itself specific and complete (Anthropic, OpenAI, Mistral, xAI, DeepSeek) it was treated as sufficient without opening each linked sub-page. (6) Table A’s resolves-to column is a single point-in-time read; a floating alias can resolve differently by the time a reader checks, which is the subject of the table rather than a defect in the method.
To re-run. Pull the OpenRouter models endpoint and filter data[] for id beginning with ~; fetch each vendor URL linked in the table group headers; transcribe every row of each vendor’s deprecation or model table; compute notice as shutdown date minus announcement date in days only where both are stated on the same primary page.
03 — Table ANineteen floating aliases, and what each resolved to when checked.
Rows 1 to 12 are OpenRouter’s tilde aliases, listed in the order the catalog returns them, with the listing date taken from the API’s created field. Rows 13 to 17 are vendor-native aliases or alias patterns. Rows 18 and 19 are recorded absences. The resolves-to column is the one live-state reading in the dataset, and the caption below records what that means for citing it.
| # | Alias · source | Surface | Resolves to (live pull; date in caption) | Auto-updates? | Resolved ID returned to caller? | Expiry field | Listed / dated |
|---|---|---|---|---|---|---|---|
| 1 | ~z-ai/glm-latestopenrouter.ai/api/v1/models | OpenRouter (Z.ai) | z-ai/glm-5.3 | Yes. Description: redirects to the latest GLM model from Z.ai. | Yes. Response model field plus the account activity log. | 2098-12-31. PLACEHOLDER: OpenRouter's generic no-expiry value, not a stated lifespan. | Listed 2026-08-19 14:50 UTC |
| 2 | ~deepseek/deepseek-v4-flash-latestopenrouter.ai/api/v1/models | OpenRouter (DeepSeek) | deepseek/deepseek-v4-flash-0731 | Yes | Yes (platform mechanism) | null. No expiry field set. | Listed 2026-08-01 17:40 UTC |
| 3 | ~x-ai/grok-latestopenrouter.ai/api/v1/models | OpenRouter (xAI) | x-ai/grok-4.6 | Yes | Yes | null | Listed 2026-07-08 14:02 UTC |
| 4 | ~anthropic/claude-opus-latestopenrouter.ai/api/v1/models | OpenRouter (Anthropic) | anthropic/claude-opus-5 | Yes | Yes | null | Listed 2026-04-21 18:16 UTC |
| 5 | ~anthropic/claude-sonnet-latestopenrouter.ai/api/v1/models | OpenRouter (Anthropic) | anthropic/claude-sonnet-5 | Yes | Yes | null | Listed 2026-04-27 19:32 UTC |
| 6 | ~anthropic/claude-fable-latestopenrouter.ai/api/v1/models | OpenRouter (Anthropic) | anthropic/claude-fable-5 | Yes | Yes | null | Listed 2026-06-09 18:32 UTC |
| 7 | ~anthropic/claude-haiku-latestopenrouter.ai/api/v1/models | OpenRouter (Anthropic) | anthropic/claude-haiku-4.5 | Yes | Yes | null | Listed 2026-04-27 19:34 UTC |
| 8 | ~openai/gpt-latestopenrouter.ai/api/v1/models | OpenRouter (OpenAI) | openai/gpt-5.6-sol | Yes | Yes | null | Listed 2026-04-27 19:32 UTC |
| 9 | ~openai/gpt-mini-latestopenrouter.ai/api/v1/models | OpenRouter (OpenAI) | openai/gpt-5.4-mini | Yes | Yes | null | Listed 2026-04-27 19:34 UTC |
| 10 | ~google/gemini-pro-latestopenrouter.ai/api/v1/models | OpenRouter (Google) | google/gemini-3.1-pro-preview | Yes | Yes | null | Listed 2026-04-27 19:34 UTC |
| 11 | ~google/gemini-flash-latestopenrouter.ai/api/v1/models | OpenRouter (Google) | google/gemini-3.7-flash | Yes | Yes | null | Listed 2026-04-27 19:33 UTC |
| 12 | ~moonshotai/kimi-latestopenrouter.ai/api/v1/models | OpenRouter (Moonshot) | moonshotai/kimi-k3 | Yes | Yes | null | Listed 2026-04-27 19:33 UTC |
| 13 | gemini-flash-latestai.google.dev/gemini-api/docs/models | Google, native Gemini API | Hot-swapped per Google release (Google's own worked example). Current target not independently re-derived outside OpenRouter's parallel record. | Yes. Google: hot-swapped with every new release of a specific model variation. | REPORTED broken on the Vertex AI Python SDK: returns the alias string / version default, not the resolved ID. One unresolved GitHub issue, not Google-acknowledged. | No expiry mechanism. Breaking changes: 2-week email notice before the version behind latest changes. | Google docs, undated page; issue #2271 |
| 14 | daybreak-red-latestdevelopers.openai.com/.../daybreak-red-latest | OpenAI (Daybreak cybersecurity line) | Default snapshot: gpt-5.6-cyber (per the model page) | Not explicitly stated on the fetched page | Not stated | Not stated | OpenAI model page, undated |
| 15 | daybreak-blue-latestdevelopers.openai.com/api/docs/models | OpenAI (Daybreak cybersecurity line) | Described only as an alias for frontier general-purpose models with safeguards for defensive cybersecurity work. No default-snapshot ID surfaced in the fetched text. | Not explicitly stated | Not stated | Not stated | OpenAI models index, undated |
| 16 | gpt-5.2-chat-latest / gpt-5.3-chat-latest (pattern)developers.openai.com/api/docs/deprecations | OpenAI, *-chat-latest naming | Floats until OpenAI retires the alias itself: announced 2026-05-08, shutdown 2026-08-10 (Table B rows 24 and 25). | Yes, until the scheduled retirement | Yes. Long-standing OpenAI behaviour (general knowledge, not a fresh 2026 quote). | No expiry field. OpenAI assigns a hard retirement date instead, as for any dated snapshot. | Deprecations page entry, announced 2026-05-08 |
| 17 | claude-sonnet-4-5 (pre-4.6 convenience-alias pattern)platform.claude.com/.../model-ids-and-versions | Anthropic, native API | Newest dated snapshot within that minor version, e.g. claude-sonnet-4-5-20250929 | Yes, but only within a minor version, and only for pre-4.6-generation families | Yes. The response names the resolved dated snapshot. | Not stated. Superseded going forward by the dateless-ID scheme (next row). | Anthropic docs, undated page |
| 18 | ABSENCE: claude-sonnet-4-6 and all 4.6+ dateless IDsplatform.claude.com/.../model-ids-and-versions | Anthropic, native API | N/A. Explicitly not a floating pointer. | No. Maps to a single, fixed model snapshot; an updated model ships under a brand-new ID. | N/A | N/A | Stated by Anthropic to correct a common misconception |
| 19 | ABSENCE: DeepSeek, any current alias mechanismapi-docs.deepseek.com/updates (absence check) | DeepSeek, native API | N/A | No production floating-alias construct found. The 2026-07-24 retirement replaced two legacy names with hard-coded literals, not a redirect. | N/A | N/A | Changelog, absence check |
Two cells in Table A deserve a reading note. The 2098-12-31 value on row 1 is not a lifespan: OpenRouter returns the identical value for other catalog entries with no expiry set, so it is the platform’s placeholder, and the other eleven tilde aliases simply return null for the same field. And the resolved-ID cell on row 13 rests on a single unresolved GitHub issue against the Vertex AI Python SDK, which reported that models.get on gemini-flash-latest returned a version of default and that the response echoed the alias string rather than the serving model; no maintainer response was visible, it was not reproduced against the direct Gemini endpoint, and Google has not acknowledged it. It is recorded as reported, not as fact.
04 — Reading Table AA platform pattern, a retired -latest, and two deliberate absences.
The first thing the census changes is the framing of the glm-latest floating alias, which this site examined on August 19 as a single example. The live catalog holds twelve such entries across seven vendors (Z.ai, DeepSeek, xAI, Anthropic, OpenAI, Google, Moonshot), seven of them listed within two minutes of each other on 2026-04-27, all on the same ~vendor/family-latest naming pattern and the same description template. That is a platform feature with a rollout date, not a property of one vendor’s model.
OpenRouter’s own documentation is the clearest statement of the trade-off. Its routing guide says versions can change at any time and tells callers who need reproducibility to use the concrete slug instead; its June 15 tutorial on keeping agents running when models disappear recommends the opposite, routing fallback chains through a self-updating alias as insurance against retirement. Both are linked in the sources list in section 08; the ledger records the mechanism, not a verdict on which advice to follow. The guide also documents a second silent-change vector: unsupported reasoning parameters are remapped to the nearest supported value on a ~latest slug where a concrete slug would return a 400.
The second finding is the least obvious one. A name ending in -latest is not exempt from a retirement schedule. gpt-5.2-chat-latest and gpt-5.3-chat-latest sit on OpenAI’s deprecations page as ordinary entries with an announcement date, a shutdown date and a replacement, and chatgpt-image-latest joins them with a December 1 shutdown. A floating alias can float for a while and then stop answering on a clock, exactly like a dated snapshot.
“A common misconception is that dateless model IDs such as claude-sonnet-4-6 behave as evergreen pointers that route to the latest or best-performing version. That is not the case.”— Anthropic, Model IDs and versions documentation
The two absence rows are the third finding, and they are different kinds of absence. Anthropic’s is a stated design position: its documentation says a dateless ID in the 4.6 generation and later maps to a single fixed snapshot, that weights and configuration are never updated in place, and that an updated model ships under a new ID. The older pre-4.6 pattern, where claude-sonnet-4-5 resolved to the newest dated snapshot within that minor version, is kept as row 17 because it is a genuine if narrow floating mechanism and because the response named the resolved snapshot. DeepSeek’s absence is an outcome rather than a policy: when the legacy deepseek-chat and deepseek-reasoner names were discontinued on July 24, no floating replacement was offered and callers had to hard-code the new literal IDs. The two rows are the same column entry, no floating alias, reached by opposite routes.
05 — Table BEighty-nine retirement rows dated 2026, by vendor.
Rows are grouped by vendor, each group headed by the page it was transcribed from and the vendor’s own notice-period language where any exists. Within a group, rows follow the order of the vendor’s page. The notice column is a plain number only where it was computed from two dates on that page; otherwise it reads not computable, or INFERRED with the basis stated in the announcement cell. Every shutdown date later than 22 August 2026 is scheduled rather than observed. That holds for the whole table, so read it as a blanket condition on the shutdown column rather than looking for a marker on each such row.
| # | Model ID | Announced | Shutdown | Replacement | Notice (days) |
|---|---|---|---|---|---|
| Anthropic · 6 rowsplatform.claude.com/docs/en/about-claude/model-deprecationsStated policy: at least 60 days' notice for publicly released models. | |||||
| 1 | claude-opus-4-1-20250805 | 2026-06-05 | 2026-08-05 | claude-opus-4-8 | 61 |
| 2 | claude-sonnet-4-20250514 | 2026-04-14 | 2026-06-15 | claude-sonnet-4-6 | 62 |
| 3 | claude-opus-4-20250514 | 2026-04-14 | 2026-06-15 | claude-opus-4-8 | 62 |
| 4 | claude-3-haiku-20240307 | 2026-02-19 | 2026-04-20 | claude-haiku-4-5-20251001 | 60 |
| 5 | claude-3-5-haiku-20241022announced in 2025, shutdown in 2026 | 2025-12-19 | 2026-02-19 | claude-haiku-4-5-20251001 | 62 |
| 6 | claude-3-7-sonnet-20250219announced in 2025, shutdown in 2026 | 2025-10-28 | 2026-02-19 | claude-sonnet-4-6 | 114 |
| OpenAI · 31 rowsdevelopers.openai.com/api/docs/deprecationsStated tiers: GA models at least 6 months; chat / codex / deep-research variants at least 3 months; preview models may get much shorter notice, such as 2 weeks. | |||||
| 7 | gpt-5-2025-08-07 | 2026-06-11 | 2026-12-11 | gpt-5.6-sol | 183 |
| 8 | gpt-5-mini-2025-08-07 | 2026-06-11 | 2026-12-11 | gpt-5.6-terra | 183 |
| 9 | gpt-5-nano-2025-08-07 | 2026-06-11 | 2026-12-11 | gpt-5.6-luna | 183 |
| 10 | gpt-5-pro-2025-10-06 | 2026-06-11 | 2026-12-11 | gpt-5.6-sol (pro mode) | 183 |
| 11 | o3-2025-04-16 | 2026-06-11 | 2026-12-11 | gpt-5.6-sol | 183 |
| 12 | o3-pro-2025-06-10 | 2026-06-11 | 2026-12-11 | gpt-5.6-sol (pro mode) | 183 |
| 13 | gpt-3.5-turbo-0125 | 2026-04-22 | 2026-10-23 | gpt-5.6-terra | 184 |
| 14 | gpt-4-0613 | 2026-04-22 | 2026-10-23 | gpt-5.6-sol | 184 |
| 15 | gpt-4-1106-preview | 2026-04-22 | 2026-10-23 | gpt-5.6-sol | 184 |
| 16 | gpt-4-turbo | 2026-04-22 | 2026-10-23 | gpt-5.6-sol | 184 |
| 17 | gpt-4.1-nano | 2026-04-22 | 2026-10-23 | gpt-5.6-luna | 184 |
| 18 | gpt-4o-2024-05-13 | 2026-04-22 | 2026-10-23 | gpt-5.6-sol | 184 |
| 19 | gpt-image-1 | 2026-04-22 | 2026-10-23 | gpt-image-2 | 184 |
| 20 | o1-2024-12-17 | 2026-04-22 | 2026-10-23 | gpt-5.6-sol | 184 |
| 21 | o1-pro-2025-03-19 | 2026-04-22 | 2026-10-23 | gpt-5.6-sol (pro mode) | 184 |
| 22 | o3-mini-2025-01-31 | 2026-04-22 | 2026-10-23 | gpt-5.6-terra | 184 |
| 23 | o4-mini-2025-04-16 | 2026-04-22 | 2026-10-23 | gpt-5.6-terra | 184 |
| 24 | gpt-5.2-chat-latestfloating alias, itself retired | 2026-05-08 | 2026-08-10 | gpt-5.6-sol | 94 |
| 25 | gpt-5.3-chat-latestfloating alias, itself retired | 2026-05-08 | 2026-08-10 | gpt-5.6-sol | 94 |
| 26 | chatgpt-image-latestfloating alias, itself retired | 2026-06-02 | 2026-12-01 | gpt-image-2 | 182 |
| 27 | gpt-image-1-mini | 2026-06-02 | 2026-12-01 | gpt-image-2 | 182 |
| 28 | gpt-image-1.5 | 2026-06-02 | 2026-12-01 | gpt-image-2 | 182 |
| 29 | gpt-realtime | 2026-07-20 | 2027-01-20 | gpt-realtime-2.1 | 184 |
| 30 | gpt-audio | 2026-07-20 | 2027-01-20 | gpt-audio-1.5 | 184 |
| 31 | gpt-4o-audio | 2026-07-20 | 2027-01-20 | gpt-audio-1.5 | 184 |
| 32 | gpt-4o-realtime | 2026-07-20 | 2027-01-20 | gpt-realtime-2.1 | 184 |
| 33 | gpt-realtime-mini | 2026-07-20 | 2027-01-20 | gpt-realtime-2.1-mini | 184 |
| 34 | gpt-audio-mini | 2026-07-20 | 2027-01-20 | gpt-audio-1.5 | 184 |
| 35 | gpt-4o-mini-realtime | 2026-07-20 | 2027-01-20 | gpt-realtime-2.1-mini | 184 |
| 36 | gpt-4o-mini-audio | 2026-07-20 | 2027-01-20 | gpt-audio-1.5 | 184 |
| 37 | gpt-4o-mini-transcribe-2025-03-20 | 2026-07-20 | 2027-01-20 | gpt-4o-mini-transcribe-2025-12-15 | 184 |
| Google Gemini API · 14 rowsai.google.dev/gemini-api/docs/deprecationsGoogle's table publishes a release date, not an announcement date, so no notice period is computable for any row. The Announced column carries the release date, labelled as such. Google's policy language: at least 2 weeks for preview models; 2 weeks by email for -latest breaking changes; stable-model shutdown dates are the earliest possible, with the exact date communicated separately. | |||||
| 38 | gemini-2.5-flash-image-preview | Release 2025-05-07 | 2026-01-15 | gemini-2.5-flash-image | not computable |
| 39 | text-embedding-004 | Release 2024-04-09 | 2026-01-14 | gemini-embedding-2 | not computable |
| 40 | gemini-2.5-flash-preview-09-25 | Release 2025-09-25 | 2026-02-17 | gemini-3.6-flash | not computable |
| 41 | imagen-4.0-generate-preview-06-06 | Release 2025-06-24 | 2026-02-17 | imagen-4.0-generate-001 | not computable |
| 42 | imagen-4.0-ultra-generate-preview-06-06 | Release 2025-06-24 | 2026-02-17 | imagen-4.0-ultra-generate-001 | not computable |
| 43 | gemini-2.5-flash-lite-preview-09-2025 | Release 2025-09-25 | 2026-03-31 | gemini-3.1-flash-lite | not computable |
| 44 | gemini-robotics-er-1.5-preview | Release 2025-09-25 | 2026-04-30 | gemini-robotics-er-1.6-preview | not computable |
| 45 | gemini-2.0-flash / gemini-2.0-flash-001 | Release 2025-02-05 | 2026-06-01 | gemini-3.6-flash | not computable |
| 46 | gemini-2.0-flash-lite / gemini-2.0-flash-lite-001 | Release 2025-02-25 | 2026-06-01 | gemini-3.1-flash-lite | not computable |
| 47 | veo-3.0-generate-001 / veo-3.0-fast-generate-001 | Release 2025-09-09 | 2026-06-30 | veo-3.1-generate-preview family | not computable |
| 48 | veo-2.0-generate-001 | Release 2025-04-09 | 2026-06-30 | veo-3.1-generate-preview | not computable |
| 49 | embedding-2-preview | Release 2026-03-10 | 2026-08-10 | gemini-embedding-2 | not computable |
| 50 | imagen-4.0-generate-001 / -ultra-generate-001 / -fast-generate-001shut down five days before the as-of date | Release 2025-06-24 | 2026-08-17 | gemini-3.1-flash-image | not computable |
| 51 | gemini-robotics-er-1.6-previewscheduled, after the as-of date | Release 2026-04-14 | 2026-08-31 | gemini-robotics-er-2-preview | not computable |
| DeepSeek · 2 rowsapi-docs.deepseek.com/updatesChangelog entry dated 2026-04-24: the two legacy names will be discontinued in three months (2026-07-24). No floating replacement was offered. | |||||
| 52 | deepseek-chat (legacy alias) | 2026-04-24 | 2026-07-24 | deepseek-v4-flash (non-thinking mode) | 91 |
| 53 | deepseek-reasoner (legacy alias) | 2026-04-24 | 2026-07-24 | deepseek-v4-pro (thinking mode) | 91 |
| Moonshot AI (Kimi) · 8 rowsplatform.kimi.ai/docs/modelsThe model list states discontinuation dates only; no announcement date is published for the K2-series rows. The two August 31 rows carry an announcement date this ledger INFERRED from the K3 launch, not read from the page. | |||||
| 54 | kimi-k2-0905-preview | not stated | 2026-05-25 | kimi-k3 (implied) | not computable |
| 55 | kimi-k2-0711-preview | not stated | 2026-05-25 | kimi-k3 (implied) | not computable |
| 56 | kimi-k2-turbo-preview | not stated | 2026-05-25 | kimi-k3 (implied) | not computable |
| 57 | kimi-k2-thinking | not stated | 2026-05-25 | kimi-k3 (implied) | not computable |
| 58 | kimi-k2-thinking-turbo | not stated | 2026-05-25 | kimi-k3 (implied) | not computable |
| 59 | kimi-latest (Moonshot's own alias; not OpenRouter's ~moonshotai/kimi-latest) | not stated | 2026-01-28 | kimi-k3 (implied) | not computable |
| 60 | kimi-k2.5inferred, not confirmed | ~2026-07-17 INFERRED from the K3 launch; not on the page | 2026-08-31 (scheduled) | kimi-k3 | ~45 INFERRED |
| 61 | moonshot-v1 series (6 IDs: 8k / 32k / 128k, standard + vision)inferred, not confirmed | ~2026-07-17 INFERRED from the K3 launch; not on the page | 2026-08-31 (scheduled) | kimi-k3 | ~45 INFERRED |
| Alibaba Cloud Model Studio (Qwen) · 2 rowshelp.aliyun.com/en/model-studio/model-depreciationStated policy (page updated 2026-08-10): snapshot models get a sunset notice 30 days before the sunset date; mainline models 3 months before. The page also names four earlier 2026 waves, retired May 31, May 13, March 30 and January 30, each linking to a separate notice post whose model IDs were NOT resolved in this pass; they are listed below by date with IDs not resolved. | |||||
| 62 | qwen-turboinferred, not confirmed | ~2026-07-10 INFERRED from the 3-month mainline policy; notice post not opened | 2026-10-10 (scheduled) | Qwen3.6 / 3.7 family; no 1:1 successor stated | ~92 INFERRED |
| 63 | qwen-turbo-realtimeinferred, not confirmed | ~2026-07-10 INFERRED from the 3-month mainline policy; notice post not opened | 2026-10-10 (scheduled) | Qwen3.6 / 3.7 family; no 1:1 successor stated | ~92 INFERRED |
| Z.ai (GLM) · 1 rowNo primary lifecycle page found (docs.z.ai checked)No deprecation or lifecycle page was found on docs.z.ai. The one row below is sourced only to an NVIDIA NIM developer-forum thread and may describe an NVIDIA-hosting-specific sunset rather than a Z.ai platform-wide retirement. | |||||
| 64 | z-ai/glm-5 (as hosted via NVIDIA NIM)REPORTED: NVIDIA NIM forum only; may be hosting-specific | not stated | 2026-04-20 | z-ai/glm-5.1 | not computable |
| Cohere · 5 rowsdocs.cohere.com/docs/deprecationsThe page does not distinguish an announcement date from the effective date for its 2026 entries. The date below is treated as the shutdown date only. | |||||
| 65 | embed-english-v2.0 | not distinguished in source | 2026-04-04 | not stated on this page | not computable |
| 66 | embed-english-light-v2.0 | not distinguished in source | 2026-04-04 | not stated on this page | not computable |
| 67 | embed-multilingual-v2.0 | not distinguished in source | 2026-04-04 | not stated on this page | not computable |
| 68 | c4ai-aya-expanse-8b | not distinguished in source | 2026-04-04 | not stated on this page | not computable |
| 69 | c4ai-aya-vision-8b | not distinguished in source | 2026-04-04 | not stated on this page | not computable |
| xAI (Grok) · 8 rowsdocs.x.ai/developers/migration/may-15-retirementThe page states no general notice-period policy and no announcement date. Distinctively, this wave is a soft redirect, not a hard failure: the old slugs continue to resolve, rerouted to the listed target at a mapped reasoning effort. Effective 2026-05-15 12:00 PT. | |||||
| 70 | grok-4-1-fast-reasoning | not stated | 2026-05-15 (redirect) | grok-4.3 (low effort) | not computable |
| 71 | grok-4-1-fast-non-reasoning | not stated | 2026-05-15 (redirect) | grok-4.3 (none effort) | not computable |
| 72 | grok-4-fast-reasoning | not stated | 2026-05-15 (redirect) | grok-4.3 (low effort) | not computable |
| 73 | grok-4-fast-non-reasoning | not stated | 2026-05-15 (redirect) | grok-4.3 (none effort) | not computable |
| 74 | grok-4-0709 | not stated | 2026-05-15 (redirect) | grok-4.3 (low effort) | not computable |
| 75 | grok-code-fast-1 | not stated | 2026-05-15 (redirect) | grok-build-0.1 | not computable |
| 76 | grok-3 | not stated | 2026-05-15 (redirect) | grok-4.3 (none effort) | not computable |
| 77 | grok-imagine-image-pro | not stated | 2026-05-15 (redirect) | grok-imagine-image-quality | not computable |
| Mistral AI · 12 rowsdocs.mistral.ai/modelsMistral publishes a deprecation date and a retirement date per model with no general policy sentence; the deprecation date is treated as the announcement date. Notice therefore varies model to model. | |||||
| 78 | Leanstral | 2026-05-22 | 2026-06-30 | not stated on this page | 39 |
| 79 | Mistral Medium 3.1 | 2026-05-22 | 2026-08-31 | not stated on this page | 101 |
| 80 | Mistral Small 3.2 | 2026-04-30 | 2026-07-31 | not stated on this page | 92 |
| 81 | Voxtral Mini Transcribe | 2026-02-27 | 2026-05-31 | not stated on this page | 93 |
| 82 | Devstral 2 | 2026-05-22 | 2026-07-31 | not stated on this page | 70 |
| 83 | Magistral Medium 1.2 | 2026-05-22 | 2026-07-31 | not stated on this page | 70 |
| 84 | Mistral Large 2.1 | 2026-02-27 | 2026-05-31 | not stated on this page | 93 |
| 85 | Pixtral Large | 2026-02-27 | 2026-05-31 | not stated on this page | 93 |
| 86 | Mistral Moderation | 2026-03-31 | 2026-06-30 | not stated on this page | 91 |
| 87 | Mistral Nemo 12B | 2026-05-22 | 2026-07-31 | not stated on this page | 70 |
| 88 | OCR 2 | 2026-02-27 | 2026-05-31 | not stated on this page | 93 |
| 89 | Mistral Medium 3 | 2026-05-22 | 2026-08-31 | not stated on this page | 101 |
| Alibaba Cloud Model Studio, four further 2026 waves · model IDs not resolvedThe policy page names retirements effective 2026-05-31, 2026-05-13, 2026-03-30 and 2026-01-30, each linking to a separate Aliyun notice post. The model IDs behind those dates were not opened in this pass and are not counted in the 89 rows above; they are listed here so the gap is visible rather than silent. | |||||
Two rows sit close to the dataset’s own as-of date. Google’s Imagen 4.0 generate, ultra and fast IDs shut down on 2026-08-17, five days before the as-of date and inside the window this batch was researched in. Moonshot’s Kimi K2.5 and moonshot-v1 rows carry a scheduled 2026-08-31 shutdown, nine days after it, and an announcement date this ledger could only infer. Both are in the table as they stand; neither has been observed to happen.
06 — Notice PeriodsHow much warning the vendor pages actually support.
The notice column is the one number in the ledger that is comparable across vendors, computed rather than quoted, and the first thing a reader building a pinning policy needs. The chart below plots it for the four vendor groups where it can be computed at all, as a minimum-to-maximum range with the row count, and keeps a fifth row for the 38 rows where it cannot, because a vendor that publishes no announcement date is a finding, not an empty space.
Source: Table B above. Notice = shutdown date minus announcement date, computed by this ledger from the vendor’s own page. Medians computed over the rows in each group. Inferred rows are excluded from the ranges.
Read against the vendors’ own policy language, the computed numbers behave. Anthropic’s deprecations page commits to at least 60 days’ notice for publicly released models, and its six rows land at 60, 61, 62, 62, 62 and 114. OpenAI’s page states at least six months for GA models, at least three months for chat, codex and deep-research variants, and possibly as little as two weeks for previews; its 31 rows split into 182 to 184 days for the GA and image waves and 94 days for the two -chat-latest aliases, which matches the three-month tier rather than the six-month one. DeepSeek’s single 2026 entry said three months and delivered 91 days. Mistral publishes no general sentence, and its per-model spread, from Leanstral’s 39 days to Medium 3.1’s 101, is the widest in the computable set.
At least 60 days, stated
Notice for publicly released models is a published floor. Every 2026 row meets it; five of six sit within two days of it, and one (claude-3-7-sonnet) ran 114 days.
Tiered by model class
GA models at least six months; chat / codex / deep-research variants at least three; previews possibly two weeks. The -chat-latest aliases fell in the three-month tier.
Two weeks for previews and -latest
At least two weeks for preview models; two weeks by email before the version behind a -latest alias changes; stable models get advance notice of unspecified length, with listed dates the earliest possible.
30 days snapshot, 3 months mainline
The decommissioning policy states the two tiers; the linked notice posts carrying actual dates were not opened, so both qwen-turbo rows are INFERRED from the mainline tier.
07 — Vendor PhilosophiesHard failure, soft redirect, no alias, no page.
The rows where the thesis of a tidy retirement clock fails are the most useful ones to a reader checking whether an integration will break, and they fall into four distinct stances. Each is a row group in Table B or a row in Table A, kept as found.
Anthropic, OpenAI, DeepSeek, Mistral: the clock is published
Both dates on the page, a replacement named, and a request to the old ID fails after shutdown. DeepSeek’s July 24 event is the cleanest single example: announced April 24 as three months, delivered in 91 days, with no floating alias offered in place of the two legacy names.
xAI, May 15: the slug keeps resolving
The migration guide states that retired slugs continue to resolve, silently rerouted to grok-4.3 at a mapped reasoning effort or to a renamed image model. No announcement date and no general notice policy appear anywhere on the page. An integration will not error; it will answer from a different model.
Anthropic 4.6+ and DeepSeek
Anthropic documents that dateless IDs are fixed snapshots and corrects the opposite assumption by name. DeepSeek’s changelog shows no -latest construct, and its one 2026 retirement replaced aliases with literals. Both are recorded in Table A as absences with a source.
Z.ai: nothing to transcribe
Z.ai’s pricing and GLM-4.6 docs carry no deprecation or lifecycle content, and a targeted search surfaced only subscription-plan migrations. The one GLM retirement in Table B traces to an NVIDIA NIM forum thread and may be hosting-specific. Z.ai is the one vendor in the census with no primary page at all.
Projecting forward from the table rather than from any single row, two pressures point in opposite directions. Routers have a product reason to add floating aliases, and OpenRouter’s seven-at-once rollout on April 27 suggests they are added in batches, so the alias count is more likely to rise than fall. Model vendors, by contrast, have been converging on dated or fixed IDs with a published floor: the Anthropic clarification, OpenAI’s tiers and DeepSeek’s literal-ID migration all move the same way. A reasonable expectation is that the alias layer keeps thickening at the router while the vendor layer keeps hardening underneath it, which makes the resolves-to column in Table A the cell most likely to be stale by the time it is read, and the one this ledger will refresh first.
08 — Using the LedgerCompanion pages, and how to cite a cell.
This page is the census; three earlier pages on this site are its narrative companions, each built on rows that now sit in these tables. The glm-latest alias post examines Table A row 1 in depth, as the failure mode of a name that repoints with no signal at the call. The DeepSeek July 24 retirement post is the migration story behind Table B’s two DeepSeek rows and their 91-day notice. The one-page model-pinning policy is the policy companion to this census, turning the notice-period column into rules for production automations.
Two further pages give the wider frame. A floating model alias is a specific instance of the general versioning-contract problem covered in the API-versioning decision matrix, and the created caveat on Table A’s listing dates is the same lesson as listing dates versus launch dates in the catalog-literacy guide. Teams that want to apply the ledger to their own model inventory, pinning concrete IDs and scheduling migrations against the notice column, can look at our AI transformation engagements.
When citing a cell, quote the as-of date with it. Table B figures are as of 22 August 2026; Table A’s resolves-to values are a point-in-time reading, flagged as such in that table’s caption, and may have changed since, which is the point of the column. If a vendor page you re-fetch later disagrees with a cell here, the change is itself the finding, and the as-of date is what makes it one.
Primary sources, as linked in the tables
- OpenRouter: models API, Latest Model Resolution guide, June 15 tutorial on model disappearance.
- Anthropic: Model deprecations, Model IDs and versions.
- OpenAI: Deprecations, Models index, daybreak-red-latest.
- Google: Gemini API deprecations, Gemini API models; googleapis/python-genai issue #2271 (unresolved, reported only).
- DeepSeek: API change log. Moonshot AI: Kimi model list. Alibaba Cloud: Model decommissioning policy.
- Cohere: Deprecations. xAI: May 15 retirement migration guide. Mistral AI: Models overview.
- Z.ai, checked and found to hold no lifecycle content: pricing docs, GLM-4.6 docs.
09 — ConclusionTwo tables, one column that will not hold still.
Nineteen aliases, eighty-nine retirements, and an honest label on every cell that was inferred instead of read.
The ledger’s headline is structural rather than dramatic. Floating aliases are a router-level product with a visible rollout, not a one-vendor oddity; a -latest name can sit on a deprecation clock like any dated snapshot; and the vendors that publish both dates keep to their stated floors, with notice ranging from 39 to 184 days across the 51 rows where it can be computed at all. The other 38 rows are the quieter finding: for Google, xAI, Cohere, Moonshot and Alibaba, the vendor page does not support the arithmetic, and for Z.ai there is no page.
What the ledger does not say matters as much. A not-computable cell is not an accusation, an inferred date is not a vendor statement, and a resolves-to value is a reading taken on one day. The tables keep those distinctions visible so that a cell can be cited on its own terms, and so that the next refresh can show what moved rather than silently overwrite it.