← Back to blog
2026-08-127 min read
Designing APIs for change
Notes on contracts, naming, validation, and building APIs that remain pleasant to work with.
An API is a contract between parts of a system. The best contracts reduce the amount of hidden knowledge required to use them correctly.
Consistent naming, explicit validation, stable response shapes, and useful errors matter more than clever abstractions. They make frontend work faster and reduce the number of assumptions spread across the codebase.
I design endpoints around product behavior first, then use implementation details to support that model. That keeps the API aligned with the way the product actually evolves.