api-design-principles

Design REST and GraphQL API interfaces with versioning and error formats.

6|Updated Feb 25, 2026
One-click install
npx skills add https://github.com/archibate/archibate-skills --skill api-design-principles-archibate
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: api-design-principles
Source: https://github.com/archibate/archibate-skills/tree/main/old-skills/redundant-skills/api-design-principles
Command: npx skills add https://github.com/archibate/archibate-skills --skill api-design-principles-archibate

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Designing consistent, maintainable, and developer-friendly APIs is difficult without clear conventions, leading to client confusion, fragile integrations, and costly breaking changes; this Skill consolidates proven REST and GraphQL principles, templates, and checklists to reduce design errors and accelerate delivery.

Core Features & Use Cases

  • Design Guidance: Resource-oriented REST patterns, HTTP semantics, pagination, filtering, and versioning strategies for robust endpoint design.
  • GraphQL Patterns: Schema-first recommendations, pagination (Relay/offset), resolver and DataLoader patterns to prevent N+1 queries and enforce strong typing.
  • Templates & Checks: Ready-to-use FastAPI template, GraphQL schema example, and a pre-implementation checklist for reviews and migrations.
  • Use Case: Create or review an orders API for an e-commerce platform, ensuring consistent endpoints, cursor pagination for mobile clients, clear error formats, and a migration path to GraphQL.

Quick Start

Create a REST and GraphQL API design for a new orders service using the provided checklist and templates.

Frequently Asked Questions about api-design-principles

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

FAQPage Schema
How do I design a REST API with correct HTTP methods and pagination?

REST API design applies resource-oriented URL structures, correct HTTP method semantics, and pagination patterns to ensure consistent endpoints. It uses clear filtering and versioning strategies to prevent fragile integrations and breaking changes.

What is the best way to prevent N+1 queries in a GraphQL schema?

Preventing N+1 queries in GraphQL involves using schema-first design with resolver and DataLoader patterns. This batches data fetching efficiently and enforces strong typing to optimize endpoint performance during complex nested queries.

How do I structure API versioning strategies to avoid breaking changes?

API versioning strategies manage endpoint updates by applying clear resource-oriented URL conventions and consistent migration paths. This maintains backward compatibility during REST refactoring or GraphQL transitions without breaking existing client integrations.

Does this API design guidance include templates for FastAPI and GraphQL?

Yes, the API design guidance includes ready-to-use FastAPI templates and GraphQL schema examples. These provide pre-implementation checklists for reviewing specifications, standardizing error response formats, and accelerating endpoint delivery.

When should I use cursor pagination instead of offset pagination for mobile clients?

Cursor pagination is preferred over offset pagination for mobile clients when designing scalable APIs with frequently updated data. This pattern ensures stable result sets and consistent performance during API data retrieval.