L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

api-design-principles

api-design-principles

Use before designing any REST API endpoint — covers URL structure, HTTP method semantics, pagination, caching, idempotency, and bulk operations across Python FastAPI, NestJS 11.x, and Spring Boot WebFlux 3.5.x. Complements openapi-spec-generation (spec format) and stack-specific implementation skills (code patterns).

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: api-design-principles description: Use before designing any REST API endpoint — covers URL structure, HTTP method semantics, pagination, caching, idempotency, and bulk operations across Python FastAPI, NestJS 11.x, and Spring Boot WebFlux 3.5.x. Complements openapi-spec-generation (spec format) and stack-specific implementation skills (code patterns). allowed-tools: Read metadata: triggers: REST API design, API versioning, idempotency key, ETag caching, bulk operations, pagination pattern, API checklist, URL design, HTTP methods, REST principles, CORS, rate limiting header related-skills: openapi-spec-generation, java-spring-api, nestjs-api, python-dev, architecture-design domain: api-architecture role: specialist scope: design output-format: specification last-reviewed: "2026-03-14"

Iron Law

NO API ENDPOINT DESIGN WITHOUT READING reference/rest-design-principles.md FIRST — HTTP semantics, status codes, idempotency, and caching strategies must be agreed before writing implementation code

API Design Principles

Stack-agnostic REST design principles for APIs built with Python FastAPI, NestJS 11.x, or Spring Boot WebFlux 3.5.x. Use this skill during the design phase — before writing controllers or route handlers.

When to Use

  • Designing new REST endpoints from scratch
  • Reviewing whether existing endpoints follow REST conventions
  • Choosing a pagination strategy (offset vs cursor)
  • Adding idempotency keys to mutation endpoints
  • Designing caching strategy (ETags, Cache-Control)
  • Designing bulk/batch endpoints with partial failure handling
  • Running the pre-implementation API design checklist

How This Skill Relates to Others

SkillScope
api-design-principles (this skill)Design phase — REST semantics, patterns, checklist
openapi-spec-generationDocumentation phase — OpenAPI 3.1 spec, developer guide
java-spring-apiImplementation — Spring WebFlux controllers, services
nestjs-apiImplementation — NestJS modules, controllers, DTOs
python-devImplementation — FastAPI routes, Pydantic models

Process

Step 1: Run the Pre-Implementation Checklist

Read assets/api-design-checklist.md before designing any endpoint. Focus on:

  • Resource naming and URL structure
  • HTTP method assignment
  • Status codes per operation
  • Pagination strategy choice
  • Versioning strategy

Step 2: Apply REST Design Principles

Read reference/rest-design-principles.md for detailed patterns covering:

  • URL structure and resource naming (plural nouns, shallow nesting)
  • HTTP methods and correct status codes per operation type
  • Pagination — offset-based vs cursor-based, with examples for all 3 stacks
  • Versioning strategies (URL path recommended)
  • Rate limiting headers (X-RateLimit-*)
  • Authentication (Bearer token, 401 vs 403 distinction)
  • Error response format (consistent structure across all 3 stacks)
  • Caching — Cache-Control, ETags, conditional GET (304) — all 3 stacks
  • Idempotency keys — mutation safety for payment and order endpoints — all 3 stacks
  • Bulk operations — batch endpoints with 207 Multi-Status partial failure — all 3 stacks
  • CORS configuration — all 3 stacks
  • Health and monitoring endpoints

Step 3: Document with OpenAPI

Once the design is finalized, hand off to openapi-spec-generation to generate the OpenAPI 3.1 spec.

Reference Files

FileContentLoad When
reference/rest-design-principles.mdURL structure, HTTP methods, pagination, caching, idempotency, bulk ops, CORS — examples for FastAPI, NestJS, Spring WebFluxDesigning new endpoints or reviewing REST compliance
assets/api-design-checklist.md60-item pre-implementation checklist (REST only) with stack-specific items for all 3 backendsBefore starting any new endpoint or reviewing an existing API

Error Handling

Inconsistent status codes across endpoints: Follow the status code reference in reference/rest-design-principles.md section "HTTP Methods and Status Codes". All endpoints in a service must be consistent.

Pagination strategy mismatch: Choose offset-based for admin/report endpoints, cursor-based for real-time/feed endpoints. Document the choice — do not mix strategies within the same resource collection.

Skills enregistrées