This guide describes a set of HTTP+JSON API design practices, originally extracted from work on the Heroku Platform API.
This guide informs additions to that API and also guides new internal APIs at Heroku. We hope it’s also of interest to API designers outside of Heroku.
Our goals here are consistency and focusing on business logic while avoiding design bikeshedding. We’re looking for a good, consistent, well-documented way to design APIs, not necessarily the only/ideal way.
We assume you’re familiar with the basics of HTTP+JSON APIs and won’t cover all of the fundamentals of those in this guide.
We welcome contributions to this guide.
See Summary for Table of Contents.
- Portuguese version (based on fba98f08b5), by @Gutem
- Spanish version (based on 2a74f45), by @jmnavarro
- Korean version (based on f38dba6), by @yoondo
- Simplified Chinese version (based on 337c4a0), by @ZhangBohan
- Traditional Chinese version (based on 232f8dc), by @kcyeu
- Turkish version (based on c03842f), by @hkulekci