Skill

Design Scalable REST and GraphQL APIs

Skill for designing intuitive, scalable REST and GraphQL APIs, from resource modeling through versioning and auth strategy.


72
Spark score
out of 100
Updated 4 days ago
Version 15.5.1

Add to Favorites

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

01

Design new REST or GraphQL APIs

02

Refactor existing APIs for better usability

03

Establish API design standards for your team

04

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.