Designing the contracts between parts of a system and between systems: shapes, errors, versions and limits.
Topics
- API Design
- Resources, operations and naming that match the domain and are hard to misuse.
- Error Contracts
- Consistent error shapes and codes that tell callers what went wrong and whether a retry could help.
- Versioning and Compatibility
- Adding without breaking, deprecating deliberately, and knowing who depends on what.
- Pagination, Filtering and Limits
- Bounding every response and every request so no caller can ask for everything at once.
- Schemas as Contracts
- Machine-readable definitions, such as OpenAPI, JSON Schema or protocol buffers, that validate data and generate code.