designing-apis

Design RESTful and GraphQL APIs with architectural patterns and security measures.

1|Updated Jul 22, 2025
One-click install
npx skills add https://github.com/drewdresser/aws-solutions-architect-bench --skill designing-apis-drewdresser
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: designing-apis
Source: https://github.com/drewdresser/aws-solutions-architect-bench/tree/main/.claude/skills/designing-apis
Command: npx skills add https://github.com/drewdresser/aws-solutions-architect-bench --skill designing-apis-drewdresser

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve?

Designing APIs can be complex and time-consuming. This Skill offers a comprehensive guide and best practices to create well-structured, secure, and scalable APIs.

Core Features & Use Cases

  • REST API Design Patterns: Provides a comprehensive guide to RESTful API design, including URL structure, HTTP methods, status codes, and more.
  • GraphQL Schema Design: Includes best practices for GraphQL schema design, including type definitions, queries, mutations, and pagination.
  • Authentication & Security: Offers insights on implementing authentication methods like JWT and API keys, along with OAuth 2.0 flows and rate limiting.
  • API Documentation: Includes an example OpenAPI documentation to help users document their APIs effectively.
  • Best Practices: Suggests guidelines for consistent naming, versioning, input validation, error handling, and HTTPS usage.

Quick Start

Analyze the design principles for RESTful and GraphQL APIs to optimize your API architecture.

Frequently Asked Questions about designing-apis

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

FAQPage Schema
What are the best practices for RESTful API URL structure and HTTP methods?

RESTful API design best practices involve structuring URLs logically around resources and using standard HTTP methods like GET, POST, PUT, and DELETE. This ensures consistent, scalable web service architecture and clear communication.

How do I design a GraphQL schema with queries, mutations, and pagination?

Designing a GraphQL schema requires defining type definitions, queries, and mutations effectively. Implementing pagination within these schemas ensures efficient data retrieval for GraphQL APIs.

How should I implement API authentication using JWT and OAuth 2.0?

API authentication can be implemented using JWT for stateless token verification and OAuth 2.0 flows for secure delegated access. Implementing rate limiting alongside these measures protects APIs from abuse.

How do I document an API using OpenAPI specifications?

Documenting APIs using OpenAPI specifications involves detailing endpoints, request parameters, and response schemas. Effective API documentation ensures developers understand integration requirements and expected behaviors.

What HTTP status codes should I use for API error handling?

API error handling requires returning appropriate HTTP status codes, such as 400 for bad requests or 404 for not found. Consistent error handling and input validation improve API reliability.

When should I choose GraphQL over RESTful APIs for my web service?

Choosing GraphQL over RESTful APIs depends on whether clients need flexible data fetching to avoid over-fetching. RESTful APIs are often preferred for standardized caching and simpler endpoint structures.