1. Chapter 1: Introduction to APIs
1. The Evolution of APIs
2. APIs Are Different from Web Sites
3. Defining an API and Its Characteristics
4. Types of APIs
5. Examples of Popular APIs
6. The Difference Between a Web Service and a Web API
7. How Are APIs Different from SOA?
8. The API Value Chain
9. Business Models for APIs
2. Chapter 2: API Management
1. Secure, Reliable, and Flexible Communication
1. The API Gateway
2. API Auditing, Logging and Analytics
1. API Analytics
3. Developer Enablement for APIs
1. Developer Portal
4. API Lifecycle Management
1. API Creation
2. API Publication
3. Version Management
4. Change Notification
5. Issue Management
3. Chapter 3: Designing a RESTful API Interface
1. REST Principles
1. Uniform Interface
2. Client-Server
3. Stateless
4. Cache
5. Layered Systems
6. Code on Demand
2. Designing a RESTful API
1. Identification of Resources
2. Manipulation of Resources through Representation
3. Self-Descriptive Messages
4. Hypermedia as the Engine of Application State (HATEOAS)
3. Resource Identifier Design Using URIs
1. Resource Naming Conventions
2. Modelling Resources and Subresources
3. Best Practices for Identifying REST API Resources
4. URI Path Design
5. URI Format
6. Naming Conventions for URI Paths
, 4. HTTP Verbs for RESTful APIs
1. GET
2. POST
3. PUT
4. DELETE
5. PATCH
6. OPTIONS
7. HEAD
8. Idempotent and Safe Methods
5. HTTP Status Code
6. Resource Representation Design
7. Hypermedia Controls and Metadata
1. Accept (Client Request Header)
2. Accept-Charset (Client Request Header)
3. Authorization (Client Request Header)
4. Host (Client Request Header)
5. Location (Server Response Header)
6. ETag (Server Response Header)
7. Cache-Control (General Header)
8. Content-Type (General Header)
8. Header Naming Conventions
9. Versioning
10. Querying, Filtering, and Pagination
1. Limiting via Query-String Parameters
2. Filtering
11. The Richardson Maturity Model
1. Level 0: Swamp of POX (Plain Old XML)
2. Level 1: Resources
3. Level 2: HTTP Verbs
4. Level 3: Hypermedia Controls
4. Chapter 4: API Documentation
1. The Importance of API Documentation
2. Audience for API Documentation
3. Model for API Documentation
1. Title
2. Endpoint
3. Method
4. URL Parameters
5. Message Payload
6. Header Parameters
7. Response Code
8. Error Codes and Responses
9. Sample Calls
10. Tutorials and Walk-throughs
11. Service-Level Agreements
4. API Documentation Standards: Swagger, RAML, and API Blueprint
, 1. Swagger
2. RAML
3. API Blueprint
4. Comparing Swagger, RAML, and API Blueprint
5. Other API Documentation Frameworks
5. Chapter 5: API Patterns
1. Best Practices for Building a Pragmatic RESTful API
2. API Management Patterns
1. API Facade Pattern
2. API Throttling
3. Caching
4. Logging and Monitoring
5. API Analytics
3. API Security Patterns
1. Common Forms of Attack
2. API Risk Mitigation Best Practices
4. API Deployment Patterns
1. Cloud Deployment
2. On-Premise Deployment
5. API Adoption Patterns
1. APIs for Internal Application Integration
2. APIs for Business Partner Integration
3. APIs for External Digital Consumers
4. APIs for Mobile
5. APIs for IoT
6. Chapter 6: API Version Management
1. API Versioning vs. Software Versioning
2. The Need to Version APIs
3. API Versioning Principles
1. The API Version Should Not Break any Existing Clients
2. Keep the Frequency of Major API Versions to a Minimum
3. Make Backward-Compatible Changes and Avoid Making New API
Versions
4. API Versioning Should Not Be Directly Tied to Software Versioning
4. Approaches to API Version Management
1. Versions Using URLs
2. Versions Using an HTTP Header
3. Versions Using Query Parameters
4. Versions Using a Host Name
5. Handling Requests for Deprecated Versions
5. API Version Lifecycle Management
7. Chapter 7: API Security
1. The Need for API Security
2. API Security Threats
3. API Authentication and Authorization
1. API Keys