Death by a Thousand API Versions

Stanislav Zmiev

Friday 10:55 in Helium3

Web API Versioning is a way to allow your developers to move quickly and break things while your clients enjoy the stable API in long cycles. It is best practice for any API-first company to have API Versioning in one way or another. Otherwise, the company will either be unable to improve their API or their clients will have their integrations broken every few months.

At Monite, we spent a great deal of time trying to make API versioning work. We went through multiple horrifying solutions until we reached something we are proud of. I'll share just how expensive API versioning can get if done incorrectly.

I'll cover all sorts of approaches you can pick to add incompatible features to your API: extremely stable and expensive, easy-looking but horrible in practice, and even completely version-less yet viable. I will provide you with the best practices of how you could find or implement a modern API versioning solution and will discuss the versioning at Stripe and Monite in great detail.

When you leave, you'll have enough information to make your API Versioning user-friendly without overburdening your developers.

Stanislav Zmiev

Experienced platform engineer and architect with a passion for open source and developer tools. The author of Cadwyn -- a sophisticated API Versioning framework based on FastAPI. A contributor to numerous projects such as CPython and tortoise-orm. Currently building the future of finance at Monite.