- Graph API & SDKs
- Practitioner
- Developers
- Business owners
API Deprecation
Also called: Graph API version expiry · API sunset · End of life (EOL) · Version deprecation
How Meta retires Graph API versions and whole products: each version works for at least two years, then calls to it fall back to the oldest usable one.
Reviewed
What is API deprecation?
API deprecation is the process by which a platform announces that an API version, endpoint, field or entire product will stop being supported, and then retires it on a stated date. For WhatsApp integrations it happens at two levels: Graph API versions, which Meta retires on a fixed schedule, and products such as the On-Premises API, which Meta sunsets with a migration path to a successor.
Graph API versions follow a predictable rule. Each version is guaranteed to operate for at least two years and expires two years after the next version ships. When a version expires, calls that still name it in the path — /v21.0/ — are not rejected; Meta serves them with the oldest version that is still usable. That sounds safe, and it is the main danger: fields, defaults and error behaviour can change under an integration nobody has touched, with no error to warn anyone. Calls with no version in the path use the default set in the App Dashboard, which ages in the same way.
Product sunsets are bigger. The On-Premises API, the self-hosted WhatsApp client, stopped accepting new registrations on 1 July 2024 and was sunset on 23 October 2025, so every business now sends through the Cloud API. Smaller features are retired the same way: Embedded Signup, for example, has moved through numbered flow versions, and Meta announces a date by which partners must leave an older one. API deprecation is the end-of-life schedule; Graph API versioning, a separate topic, is how you choose and pin a version in the first place.
Key takeaways
- API deprecation is how Meta retires an API version or product, with a published date after which old calls change or stop.
- Each Graph API version is guaranteed for at least two years and expires two years after its successor ships.
- Calls to an expired version are served by the oldest version still usable, so behaviour can change without any error.
- Graph API v21.0 runs until 21 January 2027 and v24.0 until 18 February 2028; v26.0, released 29 July 2026, is the current version.
- Whole products retire too: the On-Premises API was sunset on 23 October 2025, leaving the Cloud API as the only option.
Interactive stop
Drag the clock: how long does v21.0 have left?
Time since it opened
876d
876d in: window closed. Calls to /v21.0/ fall back to the oldest usable version.
Why does API deprecation matter?
A deprecation date is a deadline on someone else's calendar that can still break your integration. Teams that track it upgrade on a quiet weekday with tests; teams that do not discover it when a fallback version changes a response field in the middle of a festive sale, or when a sunset product simply stops sending. For the business the risk is lost OTPs and order updates; for developers it is an unplanned migration under pressure.
How does API deprecation work?
Know what you call
Inventory every Graph API version string in code, SDK configuration and no-code tools, plus the App Dashboard default that unversioned calls use.
Read the expiry dates
Meta's Graph API changelog lists each version's release and available-until date. As of October 2026, v21.0 expires on 21 January 2027 and v24.0 on 18 February 2028.
Read what changed
Each version's changelog entry lists breaking changes. Note the ones that touch the endpoints you use: messages, templates, phone numbers and webhooks.
Upgrade in staging first
Change the version string in one place, run your tests and a few real sends against a test number, and compare responses and webhooks with the old version.
Cut over before the date
Deploy the new version well ahead of expiry, keep the old one as a short-lived rollback, and put the next upgrade in the team calendar.
Watch for notices
Follow the changelog and App Dashboard alerts for product sunsets, and for the rare out-of-cycle changes Meta reserves for urgent security or privacy reasons.
API deprecation: key facts and limits
- Version guarantee
- At least 2 years per Graph API version
- Expiry rule
- 2 years after the next version ships
- After expiry
- Calls fall back to the oldest usable version
- Current version
- v26.0 (released 29 July 2026)
- v21.0 available until
- 21 January 2027
- v24.0 available until
- 18 February 2028
- On-Premises API
- Sunset 23 October 2025
Example: A Ludhiana lender still on v21.0
A Ludhiana NBFC's repayment reminders were built in 2024 and pinned to /v21.0/. In October 2026 its developer checks the changelog: v21.0 expires on 21 January 2027, after which those calls would quietly be served by a different version with different behaviour. She moves the version string to v26.0 in the shared HTTP client, runs the template-send and webhook tests against a test number, fixes the one difference a test catches in a response her code parsed, and ships the upgrade in November — two months before the cut-off rather than the morning after it.
API deprecation in code
# List every Graph API version string the codebase calls, with countsgrep -rhoE "graph\.facebook\.com/v[0-9]+\.[0-9]+" src/ config/ | sort | uniq -c
Run it in CI and fail the build when more than one version appears.
Common mistakes with API deprecation
Assuming an expired version returns an error
It does not: the call is served by another version. Record the version you send and test upgrades instead of waiting for failures to tell you.
Version strings scattered across the code
A hard-coded old version in one cron job is the one that gets missed. Route every call through one client with a single version constant.
Forgetting unversioned calls and tools
Calls without a version use the App Dashboard default, and SDKs, no-code connectors and Postman collections carry their own. Include them all in the inventory.
Upgrading on the deadline
Leaving the move to the last week leaves no time to fix a breaking change. Stay within one version of the latest and treat the expiry date as a backstop, not a target.
Ignoring product-level sunsets
Upgrading the version does not rescue a retired product. Track notices such as the On-Premises API sunset or Embedded Signup flow versions and plan those migrations in quarters, not weeks.
API Deprecation FAQs
What happens when a Graph API version expires?+
How long is a Graph API version supported?+
Is the WhatsApp On-Premises API still available?+
What is the difference between API deprecation and API versioning?+
Best practices for API deprecation
- Move to each new Graph API version within a few months of release, so you are never more than one version behind.
- Add the Graph version to logs and dashboards so you can see what production really calls.
- Keep a test phone number and a small end-to-end suite — send a template, receive a webhook — to run on every version change.
- Put the next expiry date in the team calendar on the day you upgrade.
Talk to InfiQ
From definition to your first message
InfiQ is an official Meta Business Partner. Start a 7-day free trial — no card needed — and see this running on your own number.