Platform / Field guide

API versioning & deprecation

Evolve public APIs without surprising existing integrations.

Two contracts can coexist

COMPATIBLE CONTRACTS SIDE BY SIDEV1 APIV2 API{ "user": {"name": "Alex"} }{ "member": {"fullName": "Alex"} }Existing clients keep their contract

Existing clients keep the older response contract during migration.

01 / CONTEXT

Why it matters

Public API clients can run unattended for years. A small response change can break customer automations, so evolution needs compatibility rules, visibility and a migration path.

Versioning is more than a path prefix. The contract also includes error shapes, enum values, pagination, webhook payloads and behavior that clients may rely on.

02 / DESIGN

Decisions to make

  • Choose whether versions are selected by path, header or account default.
  • Define what counts as a breaking change.
  • Set a support window and customer communication schedule.
  • Decide how webhook and SDK versions relate to API versions.
  • Plan how to identify customers still using an old version.
03 / IMPLEMENTATION

Build checklist

  • Publish a changelog and migration examples for each breaking change.
  • Return a clear version signal in responses or account settings.
  • Track usage by version and notify affected customers.
  • Exercise old clients against the new deployment in contract tests.
  • Provide deprecation and sunset dates with enough lead time.
04 / WATCH FOR

Common mistakes

  • Changing a field’s meaning without changing its documented contract.
  • Announcing a sunset without knowing who still depends on the old version.
  • Versioning request paths while silently changing webhook payloads.
05 / GO DEEPER

Tools & references

3 starting points to compare or study. Check fit, maintenance, terms and current capabilities before choosing one.

BUILDING THIS NOW?

Explore the SaaSLayer approach.

See the services and developer guides behind our AWS backed SaaS building blocks.

Read SaaSLayer docs
NEXT FEATURECustom domains & SSL management