Muhammed Senussi
Muhammed Senussi
  • Muhammed Senussi
API Versioning: Pick the One You Can Actually RetireSoftware Architecture

Teams spend a lot of energy on where the version number goes and almost none on the exit plan. The second decision is the expensive one.

Before you version at all

Most breaking changes are avoidable. Adding a field is not breaking if clients ignore unknown fields, so mandate that in your client guidance and test it. A surprising share of version bumps exist because one consumer was strict about a field nobody uses.

When you must

  • Instrument per-version usage from day one, by client. You cannot retire what you cannot measure.
  • Announce the sunset date with the launch, not later. Retrofitting a deadline is a negotiation; shipping with one is a policy.
  • Cap the number of live versions at two. Three is how you end up with five.

2 Comments

  • Peter Bakker

    April 21, 2025

    Announcing sunset at launch is such a small change in process and such a large change in outcome.

    • Muhammed Senussi

      Muhammed Senussi

      AuthorApril 21, 2025

      It also changes how consumers integrate. If they know v2 has an end date, they build the upgrade into their planning instead of treating the integration as finished.

Leave a comment