← ClaudeAtlas

api-design-patternslisted

Comprehensive REST and GraphQL API design patterns with versioning, pagination, error handling, and HATEOAS principles. Use when designing APIs, defining endpoints, or architecting service contracts requiring production-grade patterns.
NickCrew/Claude-Cortex · ★ 15 · API & Backend · score 77
Install: claude install-skill NickCrew/Claude-Cortex
# API Design Patterns Expert guidance for designing scalable, maintainable REST and GraphQL APIs with industry-standard patterns for versioning, pagination, error handling, authentication, and service contracts. ## When to Use This Skill - Designing new REST or GraphQL APIs from scratch - Refactoring existing APIs for better scalability and consistency - Defining service contracts for microservices architectures - Implementing versioning strategies for API evolution - Standardizing error handling and response formats across services - Designing pagination for large datasets - Implementing HATEOAS or hypermedia-driven APIs - Creating API specifications (OpenAPI, GraphQL Schema) ## Quick Reference | Topic | Load reference | | --- | --- | | **Design Process** | `skills/api-design-patterns/references/design-process.md` | ## Core Principles ### 1. Resource-Oriented Design (REST) **URLs represent resources, not actions:** ``` ✓ GET /users/123 ✓ POST /users ✓ PUT /users/123 ✓ DELETE /users/123 ✗ GET /getUser?id=123 ✗ POST /createUser ✗ POST /deleteUser ``` **Use HTTP methods semantically:** - GET: Retrieve resource(s), idempotent, cacheable - POST: Create resource, non-idempotent - PUT: Replace entire resource, idempotent - PATCH: Partial update, idempotent - DELETE: Remove resource, idempotent ### 2. Consistent Naming Conventions ``` Resources: /users, /orders, /products (plural nouns) Nested: /users/123/orders Collections: /users?st