I read API Design Patterns.
It starts with the principles of API design and introduces a wealth of API design patterns.
- Resource-Oriented
- Processes are determined by combining standard methods (e.g., Create/Get/List/Delete/Update) for a single resource.
- RPC-Oriented
- Processes are determined by specifying a method to invoke a specific procedure.
- Considerations for Improving API Design
- Must be executable
- Must be expressive
- Must be simple
- Must be predictable
API design patterns offer many approaches that could be useful for challenges you might face while designing and operating APIs. It's a great reference when you're unsure about your design.