Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    secondsky

    rest-api-design

    secondsky/rest-api-design
    Coding
    38
    2 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Designs RESTful APIs with proper resource naming, HTTP methods, status codes, and response formats...

    SKILL.md

    REST API Design

    Design RESTful APIs with proper conventions and developer experience.

    Resource Naming

    # Good - nouns, plural, hierarchical
    GET    /api/users
    GET    /api/users/123
    GET    /api/users/123/orders
    POST   /api/users
    PATCH  /api/users/123
    DELETE /api/users/123
    
    # Bad - verbs, actions in URL
    GET    /api/getUsers
    POST   /api/createUser
    POST   /api/users/123/delete
    

    HTTP Methods

    Method Purpose Idempotent
    GET Read resource Yes
    POST Create resource No
    PUT Replace resource Yes
    PATCH Partial update Yes
    DELETE Remove resource Yes

    Status Codes

    Code Meaning Use For
    200 OK Successful GET, PATCH
    201 Created Successful POST
    204 No Content Successful DELETE
    400 Bad Request Validation errors
    401 Unauthorized Missing auth
    403 Forbidden Insufficient permissions
    404 Not Found Resource doesn't exist
    429 Too Many Requests Rate limited

    Response Format

    {
      "data": {
        "id": "123",
        "type": "user",
        "attributes": {
          "name": "John",
          "email": "john@example.com"
        }
      },
      "meta": {
        "requestId": "req_abc123"
      }
    }
    

    Collection Response

    {
      "data": [...],
      "pagination": {
        "page": 1,
        "limit": 20,
        "total": 150,
        "totalPages": 8
      },
      "links": {
        "self": "/api/users?page=1",
        "next": "/api/users?page=2"
      }
    }
    

    Query Parameters

    GET /api/products?category=electronics    # Filtering
    GET /api/products?sort=-price,name        # Sorting
    GET /api/products?page=2&limit=20         # Pagination
    GET /api/products?fields=id,name,price    # Field selection
    

    Best Practices

    • Use nouns for resources, not verbs
    • Version API via URL path (/api/v1/)
    • Return appropriate status codes
    • Include pagination for collections
    • Document with OpenAPI/Swagger
    Recommended Servers
    Postman
    Postman
    Cloudflare
    Cloudflare
    Context7
    Context7
    Repository
    secondsky/claude-skills
    Files