Common API Design
Apply REST API conventions, HTTP semantics, status codes, versioning, pagination, and...
Install
npx skills add HoangNguyen0403/agent-skills-standard --skill common-api-design -g -a claude-code -y- Repository
- HoangNguyen0403/agent-skills-standard582
- Category
- Design
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 774 tokens
- Runs scripts
- No, instructions only
What it does
Apply REST API conventions, HTTP semantics, status codes, versioning, pagination, and OpenAPI standards for any framework. Use when designing endpoints, choosing HTTP methods, implementing pagination, or writing OpenAPI specs.
Common API Design Standards
Priority: P1 (HIGH)
🔧 HTTP Verb Semantics
GETread-only, idempotent, never mutates state.POSTcreate or trigger;PUTfull replace;PATCHpartial update;DELETEremove.- Non-CRUD actions as sub-resources:
POST /orders/:id/cancel.
📡 Status Code Correctness
200success;201created (addLocationheader);204no body.400validation (withdetails[]);401unauthenticated;403unauthorized;404not found.409conflict;422business rule violation;429rate limit (addRetry-After);500unhandled.
📦 URL Design Rules
- Lowercase, kebab-case:
/user-profiles, not/UserProfilesor/user_profiles. - Plural nouns:
/orders,/products. Not/order,/getProducts. - No verbs in paths (except action sub-resources):
/orders/:id/cancel✅,/cancelOrder❌. - Hierarchy: Use nesting only up to 2 levels:
/users/:id/orders✅,/users/:id/orders/:orderId/items/:itemId❌.
🔢 API Versioning
- Strategy: URL path versioning default:
/v1/users,/v2/users. - Header versioning (
Api-Version: 2) acceptable for internal APIs. - Never mix versions in same controller, each version gets its own route module.
- Support prev major ≥ 6 months after new release.
- Deprecation:
Deprecation: true+Sunset: <date>headers when version will be retired.
📄 Pagination
- Prefer cursor-based (
cursor+limit) for large/live datasets; offset only for small static ones. - Default
limit: 20, max100. Reject requests exceeding max. - Response envelope:
{ data: [], pagination: { nextCursor, hasNextPage } }.
📝 OpenAPI Contract
- Generate from code annotations, not hand-written YAML.
- Every API needs OpenAPI 3.1 spec.
- Include: request/response schemas, error shapes, auth requirements, examples.
- Review spec in PR, breaking changes need version bump.


