The contracts through which every service, client, and partner talks to your system. The one part you can never take back once someone integrates against it.
Time for this part: Week 9 on the Standard track (alongside architecture). It’s short but disproportionately tested — API design questions appear in almost every interview, from junior CRUD rounds to senior distributed-systems designs.
The unifying idea: an API is a promise to people whose code you can’t fix. Every principle here follows from that.
| # | Chapter | Time | The problem it solves |
|---|---|---|---|
| 1 | API Design Principles | 18 min | Consistency, consumer-shaping, and evolvability |
| 2 | REST Done Properly | 20 min | What REST actually means, and statelessness |
| # | Chapter | Time | The problem it solves |
|---|---|---|---|
| 3 | GraphQL | 22 min | Client-specified data — and the N+1 it creates |
| 4 | gRPC and RPC | 20 min | Fast, typed, internal service-to-service |
| # | Chapter | Time | The problem it solves |
|---|---|---|---|
| 5 | Pagination, Filtering, Sorting | 18 min | Never return an unbounded list — and why offset breaks |
| 6 | Versioning & Backward Compatibility | 18 min | Evolving without breaking frozen clients |
| 7 | Webhooks and Callbacks | 18 min | The server calling the client, reliably |
| 8 | Error Handling Contracts | 16 min | How you fail is part of the contract |
Public API, CRUD, cacheable, browser → REST/JSON
Internal service-to-service, high volume → gRPC
Many clients, diverse data shapes → GraphQL
Notify a third party of an event → Webhooks
Real-time bidirectional → WebSockets (see Part 2)
You should be able to answer these without notes:
Next: Part 7 — Security — protecting the systems and APIs you’ve just designed.