Designing APIs as Long-Term Contracts
Designing APIs as Long-Term Contracts

Designing APIs as Long-Term Contracts

Author
Shiv Bade
Tags
API
versioning
interface design
software contracts
Published
October 22, 2013
Featured
Slug
Tweet
I had a realization this month while reviewing breaking changes in one of our core APIs: every API is a contract, and contracts must be designed with empathy and foresight.
What this means in practice: - Prefer additive changes; be cautious with removals - Make versioning a first-class part of your design - Consider the lifecycle of consumers—not just your roadmap
I started incorporating principles from Joshua Bloch’s API design philosophy and the early REST maturity models.
This thinking shaped how I later built internal APIs that scaled across teams and versions.