API Design

Design clean REST APIs with proper resource modeling, HTTP methods, pagination, versioning, and OpenAPI documentation.

NeuralBlitz Updated 1 repo stars

File contents

What I do

  • Design clean REST APIs
  • Choose appropriate HTTP methods
  • Handle resource relationships
  • Implement pagination and filtering
  • Version APIs effectively
  • Document APIs with OpenAPI
  • Handle errors consistently
  • Design for scalability

When to use me

When designing or implementing REST APIs.

Resource Design

Resources should be nouns:

GET    /users              # List users
GET    /users/{id}         # Get user
POST   /users              # Create user
PUT    /users/{id}         # Update user
PATCH  /users/{id}         # Partial update
DELETE /users/{id}          # Delete user

Sub-resources:
GET /users/{id}/posts      # User's posts
GET /users/{id}/orders     # User's orders

Actions as resources:
POST /users/{id}/activate
POST /users/{id}/deactivate

Response Patterns

{
  "data": {},
  "meta": {
    "page": 1,
    "per_page": 20,
    "total": 100
  },
  "links": {
    "self": "/api/v1/users?page=1",
    "next": "/api/v1/users?page=2"
  }
}

{
  "errors": [
    {
      "code": "VALIDATION_ERROR",
      "message": "The email field is required",
      "field": "email",
      "status": 400
    }
  ]
}

NeuralBlitz/Agent-Gateway/tree/main/agent-gateway/skills/user/api-design commit 2fb802c61f

Frequently asked questions

npx skillmds@latest add neuralblitz/api-design