Design Scalable REST and GraphQL APIs
Skill for designing intuitive, scalable REST and GraphQL APIs, from resource modeling through versioning and auth strategy.
Why it matters
Build intuitive, scalable, and maintainable APIs that delight developers. This skill guides the design of REST and GraphQL APIs, ensuring they stand the test of time and meet specific use cases.
Outcomes
What it gets done
Design new REST or GraphQL APIs
Refactor existing APIs for better usability
Establish API design standards for your team
Review API specifications before implementation
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/ag-api-design-principles | bash Overview
API Design Principles
A skill for designing REST and GraphQL APIs, covering resource/type modeling, error handling, versioning, pagination, and auth strategy. Use when designing, refactoring, or reviewing an API's contract; not for framework-specific implementation guidance or fixed, unchangeable interfaces.
What it does
This skill covers REST and GraphQL API design principles for building intuitive, scalable, and maintainable APIs. Its process: define consumers, use cases, and constraints; choose an API style and model resources or types; specify errors, versioning, pagination, and auth strategy; and validate with examples and a consistency review. A detailed implementation playbook (resources/implementation-playbook.md) covers deeper patterns, checklists, and templates.
When to use - and when NOT to
Use this when designing new REST or GraphQL APIs, refactoring existing APIs for better usability, establishing API design standards for a team, reviewing API specifications before implementation, migrating between API paradigms (REST to GraphQL), creating developer-friendly API documentation, or optimizing an API for a specific use case (mobile clients, third-party integrations).
Not the right skill if you only need implementation guidance for a specific framework, if the work is infrastructure-only with no API contract involved, or if you can't change or version the public interface at all - there's nothing to design if the contract is fixed.
Inputs and outputs
Inputs: the API's target consumers, use cases, and constraints (mobile, third-party, internal).
Outputs: a chosen API style (REST or GraphQL) with modeled resources/types, defined error handling, versioning strategy, pagination approach, and auth strategy - validated against concrete usage examples for consistency.
Integrations
Applies to REST and GraphQL API paradigms generally, independent of a specific framework or vendor.
Who it's for
API designers, backend engineers, and teams establishing or reviewing API design standards who need a structured process from consumer definition through versioning and auth strategy.
FAQ
Common questions
Discussion
Questions & comments · 0
Sign In Sign in to leave a comment.