Dabish Digital
Architecture

API versioning for small teams

This is one of those topics that looks small until it costs you something. Most advice about API versioning assumes a team that does not exist at your size. Here is the version that does not.

Most systems fail at the seams rather than inside any one component. If two people in the business would answer this differently, that gap is the actual problem.

What to keep

Version before anyone external depends on you, not after. There is a version of this that is over-engineered, and it is worth avoiding. Anything you cannot measure here, you are deciding by taste, which is fine as long as everyone knows it.

What to drop

Process that exists to coordinate ten people is overhead when there are two of you. This is the sort of thing that compounds, quietly, in both directions.

The practical version

Publish a deprecation timeline and actually honour it. This is the sort of thing that compounds, quietly, in both directions. If two people in the business would answer this differently, that gap is the actual problem.

In practice

Architecture is the set of decisions that are expensive to reverse, which is the only reason they deserve the name. Three things worth confirming about API versioning before you move on:

  • Someone can say what the current setup is without going to look
  • Additive changes rarely need a new version — and you know whether that is true here
  • There is a way to tell whether the last change to this helped

If any of that sounds like a description of your current setup, it is fixable.