{
  "name": "MonoTask API Gateway",
  "version": "1.0.0",
  "description": "Cloudflare-powered task automation API gateway",
  "endpoints": {
    "health": {
      "path": "/health",
      "method": "GET",
      "description": "Health check for all services"
    },
    "authentication": {
      "base": "/api/auth",
      "endpoints": {
        "register": "POST /api/auth/register",
        "login": "POST /api/auth/login",
        "logout": "POST /api/auth/logout",
        "session": "GET /api/auth/session",
        "refresh": "POST /api/auth/refresh",
        "githubOAuth": "GET /api/auth/oauth/github",
        "githubCallback": "GET /api/auth/oauth/github/callback",
        "validate": "POST /api/auth/validate"
      }
    },
    "tasks": {
      "base": "/api/tasks",
      "endpoints": {
        "list": "GET /api/tasks",
        "get": "GET /api/tasks/:id",
        "create": "POST /api/tasks",
        "update": "PUT /api/tasks/:id",
        "updateState": "PUT /api/tasks/:id/state",
        "delete": "DELETE /api/tasks/:id"
      }
    },
    "projects": {
      "base": "/api/projects",
      "endpoints": {
        "list": "GET /api/projects",
        "get": "GET /api/projects/:id",
        "create": "POST /api/projects",
        "update": "PUT /api/projects/:id"
      }
    },
    "github": {
      "base": "/api/github",
      "endpoints": {
        "webhook": "POST /api/github/webhook",
        "sync": "POST /api/github/sync"
      }
    },
    "agents": {
      "base": "/api/agents",
      "endpoints": {
        "execute": "POST /api/agents/execute",
        "status": "GET /api/agents/:id/status"
      }
    },
    "websocket": {
      "path": "/ws",
      "description": "WebSocket endpoint for real-time updates"
    }
  },
  "rateLimits": {
    "global": "1000 requests per minute",
    "auth": "10 requests per 15 minutes",
    "api": "100 requests per minute",
    "websocket": "50 connections per minute"
  },
  "cors": {
    "enabled": true,
    "allowOrigin": "*",
    "allowMethods": "GET, POST, PUT, DELETE, PATCH, OPTIONS"
  }
}