api-design-principles

Guide RESTful and GraphQL API design with patterns and best practices.

Updated Oct 21, 2022
One-click install
npx skills add https://github.com/Chengxufeng1994/dotfiles --skill api-design-principles-chengxufeng1994
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-principles
Source: https://github.com/Chengxufeng1994/dotfiles/tree/main/claude/skills/api-design-principles
Command: npx skills add https://github.com/Chengxufeng1994/dotfiles --skill api-design-principles-chengxufeng1994

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes assets (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers design and build intuitive, scalable, and maintainable APIs by providing comprehensive principles and patterns for both REST and GraphQL.

Core Features & Use Cases

  • RESTful Design: Learn resource-oriented architecture, HTTP method semantics, and common patterns like pagination, filtering, and error handling.
  • GraphQL Design: Understand schema-first development, query structure, and patterns for efficient data fetching.
  • Use Case: When starting a new microservice, use this Skill to ensure your API adheres to best practices for consistency, developer experience, and long-term maintainability.

Quick Start

Review the RESTful design principles for creating a new user resource endpoint.

Frequently Asked Questions about api-design-principles

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are the core principles for designing RESTful APIs?

Core principles for designing RESTful APIs involve adopting resource-oriented architecture, using correct HTTP method semantics, and implementing standard patterns for pagination, filtering, and error handling to ensure scalability and usability.

How do I design a GraphQL schema for efficient data fetching?

Designing a GraphQL schema for efficient data fetching requires a schema-first development approach, defining clear query structures, and applying patterns that minimize over-fetching and optimize data retrieval operations.

What is the best way to handle API versioning for long-term maintainability?

The best way to handle API versioning for maintainability involves adopting structured versioning strategies that prevent breaking changes, ensuring consistent developer experience and long-term scalability for your software architecture.

How do I implement pagination and filtering in HTTP semantics?

Implementing pagination and filtering in HTTP semantics requires applying standard API patterns to resource endpoints, allowing clients to request specific data subsets efficiently while maintaining RESTful design constraints.

When should I choose GraphQL over REST for my API architecture?

Choose GraphQL over REST when your API architecture demands highly flexible, client-driven data fetching, whereas REST suits resource-oriented architectures requiring standard HTTP semantics and predictable caching behaviors.

How do I structure error handling in an API for better developer experience?

Structuring error handling in an API for better developer experience requires implementing consistent error response patterns, utilizing proper HTTP status codes, and providing clear, actionable error messages to API consumers.