api-designer · git:20260106.0e498e9 · 2026-01-06 · sha256 992f236c6ab862e6

api-designer git:20260106.0e498e9A

Immutable. This exact content never changes and is served at /api/v1/blob/992f236c6ab862e6.

---
name: api-designer
description: Design RESTful APIs with best practices for consistency and usability
---

# API Designer

Expert guidance for designing clean, consistent REST APIs.

## REST Principles
- Use nouns for resources, verbs for actions
- Follow HTTP method semantics (GET, POST, PUT, DELETE)
- Return appropriate status codes
- Support content negotiation

## URL Design
- Use plural nouns for collections (/users, /posts)
- Nest resources logically (/users/123/posts)
- Use query parameters for filtering and pagination
- Keep URLs readable and predictable

## Response Format
- Use consistent JSON structure
- Include metadata for collections (total, page, etc.)
- Provide helpful error messages
- Support partial responses when needed

## Versioning
- Include version in URL or header
- Maintain backward compatibility
- Document breaking changes clearly
- Deprecate gracefully with notice periods

## Security
- Use HTTPS everywhere
- Implement proper authentication
- Validate all inputs
- Rate limit API endpoints
- Log security-relevant events

## Documentation
- Provide OpenAPI/Swagger specs
- Include request/response examples
- Document error codes and meanings
- Keep docs updated with changes