Everything I know about good API design
Most of what modern software engineers do1 involves APIs: public interfaces for communicating with a program, like this one from Twilio. I’ve spent a lot of time working with APIs, both building and using them. I’ve written public APIs for third-party developers, private APIs for internal use (or consumption by a single frontend page), REST and GraphQL APIs, and even non-network interfaces like the ones for command-line tools. Like designing good software systems, I think much of the advice floating around about API design is too fancy. People get wrapped up in what “real” REST is, or whether HATEOAS is a good idea, and so on. This post is my attempt at writing down everything I know about designing good APIs. If this is true about systems - and it is - it’s even more true about APIs: good APIs are boring. An API that’s interesting is a bad API (or at least it would be a better one if it were less interesting). For the developers who build them, APIs are complex products that they spen
Most of what modern software engineers do 1 involves APIs: public interfaces for communicating with a program, like this one from Twilio. I’ve spent a lot of time working with APIs, both building and using them. I’ve written public APIs for third-party developers, private APIs for internal use (or consumption by a single frontend page), REST and GraphQL APIs, and even non-network interfaces like the ones for command-line tools. Like designing good software systems , I think much of the advice floating around about API design is too fancy. People get wrapped up in what “real” REST is, or whethe
saved by
related reading
- Everything I know about good system designseangoedecke.com
- How to (and how not to) design REST APIs · stickfigure/blog Wiki · GitHubgithub.com
- Best practices for REST API design - Stack Overflowstackoverflow.blog
- Write code that is easy to delete, not easy to... — programming is terribleprogrammingisterrible.com
- sbensu: Breaking changes in JSON APIsblog.sbensu.com
- Why We Don’t Trust the Database With Authentication – Sturdy Statisticsblog.sturdystatistics.com
- How will API’s evolve alongside AI? - Sara Dusaradu.substack.com
- Mediumjkebertz.medium.com
- APIs All the Way Down - Not Boring by Packy McCormicknotboring.co
- REST API: Everything You Need to Know | Directusdirectus.io
- GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.github.com
- The Bezos API Mandate: Amazon's Manifesto For Externalization | Nordic APIs |nordicapis.com