What problem does it solve? Inconsistent API design across endpoints leads to confusing contracts, leaked internals in error responses, and untraceable requests. This Skill provides a single set of conventions for REST naming, response envelopes, error codes, versioning, and request tracing. ## Core Features & Use Cases - REST conventions: Standard CRUD route naming, non-CRUD action patterns, plural resources, and a maximum of two nesting levels. - Standardized responses: Success, paginated list, and error envelopes with mandatory requestId on every response for end-to-end tracing. - HTTP status and error code mapping: A fixed table mapping 400/401/403/404/409/429/500 to codes like VALIDATION_ERROR and RATE_LIMITED. - tRPC guidance: Router patterns with zod input validation for TypeScript full-stack projects, plus criteria for choosing tRPC vs REST. - Versioning and contracts: URL path versioning rules, Sunset headers, and a required docs/api/{resource}.md contract template. - Use Case: When adding a new payments endpoint, apply the naming rules, return the standard error envelope with requestId, document the contract in docs/api/payments.md, and bump the API version if the change is breaking. ## Quick Start Design a REST API for a users resource following the dev-api-design conventions, including the standard error response format and requestId middleware.