Back
🔌
API Design & Documentation Checklist
Hard
15 items
·
2 hours
testuser
Published 2 weeks ago
This checklist helps teams and engineers design clear, consistent, and secure HTTP APIs and produce usable OpenAPI/Swagger documentation. It’s aimed at backend developers, API architects, and technical writers preparing production-ready APIs.
Progress
0 / 15
- Define API goals and usage scenarios — List primary consumers, use cases, and SLAs before modeling endpoints.
- Design RESTful resource names — Use nouns, plural forms, and hierarchical paths (e.g., /orders/{id}/items).
- Use correct HTTP methods for operations — Map CRUD to GET, POST, PUT/PATCH, DELETE and avoid tunneling actions in verbs.
- Standardize HTTP status codes — Return consistent 2xx/4xx/5xx codes and map business errors to specific 4xx codes.
- Specify request and response schemas — Define JSON schemas, required fields, types, and example payloads for each endpoint.
- Design consistent error response format — Include an error code, human message, optional details, and a request ID for tracing.
- Choose and implement authentication method — Select OAuth2, JWT, mTLS, or API keys based on security and client types.
- Document token flows and grant types — Describe Authorization Code, Client Credentials, refresh flows, and scopes.
- Secure token storage and rotation — Specify token expiry, rotation, revocation, and client storage best practices.
- Plan API versioning strategy — Choose URI, header, or media-type versioning and document compatibility rules.
- Add pagination, filtering, and sorting to list endpoints — Support limit/offset or cursor pagination, plus clear filter and sort parameters.
- Implement rate limiting and throttling — Define limits per user/API key, return 429, and document retry headers.
- Define API lifecycle and deprecation policy — Publish deprecation notices, timelines, and migration guides for breaking changes.
- Write OpenAPI/Swagger documentation — Produce an OpenAPI spec with paths, schemas, examples, and securitySchemes.
- Create automated contract and integration tests — Validate responses against schemas and run API tests in CI to prevent regressions.
Your Stats
🏆
0
Completed
📅
—
Last Done
⏱️
—
Last Time
Completion Rate
Items checked per run
⚡
—
Fastest Run
🔥
0
Streak
🚫
—
Most Skipped Step
🔄
0
Resets
📝 My Notes