What problem does it solve?
It helps you avoid inconsistent, insecure, and hard-to-evolve API designs by providing a clear set of REST and GraphQL principles and practical patterns.
Core Features & Use Cases
- REST + GraphQL decisioning: choose resource-oriented REST for CRUD and schema-driven GraphQL for complex graphs and client-driven data needs.
- Endpoint-shaping patterns: structure collections, nesting depth, pagination (offset vs cursor), and sparse fieldsets.
- Production-ready behavior: enforce consistent error formats, correct HTTP status codes, secure authentication/authorization, and robust versioning/deprecation.
- Event and long-running workflows: design webhooks and async flows using 202 Accepted, signed webhook delivery, retries, and idempotent receivers.
- Use case examples: when adding pagination and filtering to a new users endpoint, evolving an API without breaking clients, or specifying webhook delivery semantics for third-party integrations.
Quick Start
Use the api-design-principles skill to review or draft an API specification (REST and/or GraphQL) covering routing, schemas, pagination, error handling, auth, versioning, and webhook/async behavior for the described system.