Code-Memo
API Design
1. API Fundamentals
What an API is
Client-server communication model
API vs SDK vs library
REST vs RPC vs GraphQL overview
2. REST Principles
What REST means
Statelessness
Resource-based design
Uniform interface concept
Client-server separation
3. Resource Design
What a “resource” is in APIs
Nouns vs verbs in endpoints
Naming conventions (/users, /orders)
Hierarchical resources (/users/{id}/orders)
4. HTTP Methods in APIs
GET (read)
POST (create)
PUT vs PATCH (update differences)
DELETE (remove)
Idempotency concept
5. HTTP Status Codes
2xx success codes
3xx redirection basics
4xx client errors
5xx server errors
When to use each properly
6. Request & Response Structure
JSON as standard format
Headers
Query params vs path params vs body
Consistent response formats
7. Authentication & Authorization
Authentication vs authorization
API keys
JWT (JSON Web Tokens)
OAuth2 overview
Session-based auth vs token-based auth
8. API Security
Rate limiting
Input validation
CORS (Cross-Origin Resource Sharing)
HTTPS requirement
Preventing common attacks (XSS, injection basics in APIs)
9. API Versioning
Why versioning is needed
URI versioning
Header-based versioning
Backward compatibility strategies
10. Pagination, Filtering, Sorting
Offset vs cursor pagination
Filtering with query params
Sorting design patterns
Performance considerations for large datasets
11. Error Handling
Standard error response structure
Meaningful error messages
Error codes vs HTTP status confusion
Debugging-friendly responses
12. API Documentation
OpenAPI / Swagger concept
Why documentation matters
Examples and schemas
Auto-generated docs
13. API Design Best Practices
Consistency in naming and structure
Avoiding breaking changes
Keeping APIs simple
Separation of concerns
Versioning strategy planning
14. Performance & Scalability
Caching (HTTP caching headers)
ETags and conditional requests
Rate limiting strategies
Bulk operations vs single requests
Payload optimization
15. API Architecture Styles
REST vs GraphQL tradeoffs
gRPC basics
Webhooks (event-driven APIs)
Polling vs push models
16. Idempotency & Reliability
What idempotency means in APIs
Why it matters in retries
Idempotency keys
Safe retries in distributed systems
17. API Gateway Concepts
What an API gateway does
Routing, authentication, rate limiting
Aggregation of services
Examples in cloud architectures
18. Observability for APIs
Logging requests/responses
Metrics (latency, error rate)
Tracing distributed requests
Correlation IDs
19. API Testing
Unit vs integration API tests
Contract testing
Postman / automated testing
Mocking APIs
20. Advanced API Concepts
Event-driven APIs
Webhooks vs APIs
Async APIs
Long polling vs SSE vs WebSockets
API composition in microservices