I: Introduction to Web API Design
1. The Principles of API Design
The Elements of Web API Design
Reviewing the Principles of Software Design
The Principles of Web API Design
API Design Process Anti-Patterns
Remaining Agile with API Design-First
The Align-Define-Design-Refine Process
Applying the Process Effectively
3. Identify Digital Capabilities
Ensuring Stakeholder Alignment
What are Digital Capabilities?
Focusing on the Jobs to be Done
Overcoming Job Story Challenges
Techniques for Capturing Job Stories
A Real-World API Design Project
4. Capture Activities and Steps
Extending Job Stories into Activities and Steps
Using EventStorming for Collaborative Understanding
Facilitating an EventStorming Session
Avoiding API Boundary Anti-Patterns
Bounded Contexts, Subdomains, and APIs
Finding API Boundaries Using EventStorming
Finding API Boundaries Through Activities
Validating the API Model with Sequence Diagrams
Evaluating API Priority and Reuse
Selecting a Representation Format
8. RPC and Query-Based API Design
Query-Based API Design Process
9. Async APIs for Eventing and Streaming
Async APIs Create New Possibilities
A Review of Messaging Fundamentals
10. From APIs to Microservices
Microservices Reduce Coordination Costs
The Difference Between APIs and Microservices
Weighing the Complexity of Microservices
Synchronous and Asynchronous Microservices
Microservice Architecture Styles
Decomposing APIs Into Microservices
Considerations When Transitioning to Microservices
11. Improving the Developer Experience
Creating a Mock API Implementation
Providing Helper Libraries and SDKs
Selecting Tools to Accelerate Testing
The Importance of API Documentation
Extending Docs with Code Examples
From Reference Docs to a Developer Portal
The Minimum Viable Portal (MVP)
Tools and Frameworks for Developer Portals
The Impact of Change on Existing APIs
Establishing an API Stability Contract
The Potential for API Mischief
Essential API Protection Practices
Identity and Access Management (IAM)
Considerations Before Building an In-House API Gateway
16. Continuing the API Design Journey
Establishing an API Style Guide