api-design-principles

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

Updated Aug 25, 2025
One-click install
npx skills add https://github.com/Emitax123/MajobaSyS --skill api-design-principles-emitax123
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-principles
Source: https://github.com/Emitax123/MajobaSyS/tree/main/.agents/skills/api-design-principles
Command: npx skills add https://github.com/Emitax123/MajobaSyS --skill api-design-principles-emitax123

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

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

Core Features & Use Cases

  • RESTful Design: Learn resource-oriented architecture, HTTP method semantics, pagination, filtering, and error handling.
  • GraphQL Design: Understand schema-first development, query structure, input types, and mutation patterns.
  • Use Case: When designing a new microservice API, use this Skill to ensure adherence to established RESTful principles for resource naming, HTTP method usage, and consistent error responses, leading to a more predictable and developer-friendly experience.

Quick Start

Review the RESTful design principles for resource collection design.

Frequently Asked Questions about api-design-principles

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

FAQPage Schema
What are the best practices for RESTful API resource naming and HTTP method semantics?

RESTful API best practices involve adopting resource-oriented architecture and using correct HTTP method semantics for operations. This ensures predictable interactions and consistent developer experiences when designing resource collections.

How do I design a GraphQL schema with input types and mutation patterns?

GraphQL schema design follows a schema-first development approach, defining query structures, input types, and specific mutation patterns. This pattern establishes a strongly typed contract for client-server data fetching and modifications.

What is the best way to handle pagination, filtering, and error handling in API development?

API development handles pagination, filtering, and error handling through established architectural patterns. Implementing consistent query parameters for filtering and standardized error response formats ensures scalable and maintainable API endpoints.

When should I use GraphQL versus REST for designing a new microservice API?

GraphQL suits complex data fetching with schema-first development and nested query structures, while REST emphasizes resource-oriented architecture and HTTP semantics. Choosing depends on whether your microservice API prioritizes flexible queries or standardized resource collections.

How do I implement versioning in RESTful and GraphQL APIs?

API versioning in RESTful and GraphQL APIs manages breaking changes without disrupting existing consumers. REST typically uses URI path versioning, while GraphQL manages schema evolution through deprecation strategies and schema-first modifications.

Does this API design guidance cover both REST and GraphQL architectural patterns?

Yes, this API design guidance comprehensively covers both REST and GraphQL architectural patterns. It addresses resource-oriented architecture, HTTP semantics, schema design, and mutation patterns to help you build scalable and maintainable APIs.