{"openapi":"3.1.0","info":{"title":"Hono + Scalar Documentation Platform API","version":"1.0.0","description":"### Edge-Native REST API & Documentation\nWelcome to the API specification generated natively via **@hono/zod-openapi** and rendered via **Scalar**.\n- ⚡ **Framework**: [Hono](https://hono.dev)\n- 📖 **Interactive UI**: [Scalar](https://scalar.com)\n- ☁️ **Host**: Cloudflare Workers"},"servers":[{"url":"http://localhost:5173","description":"Local Dev Server"},{"url":"https://hono-scalar-docs.your-subdomain.workers.dev","description":"Cloudflare Workers Production"}],"components":{"schemas":{"HealthResponse":{"type":"object","properties":{"status":{"type":"string","enum":["ok","degraded","error"],"example":"ok"},"version":{"type":"string","example":"1.0.0"},"timestamp":{"type":"string","example":"2026-08-19T16:00:00.000Z"},"runtime":{"type":"string","example":"Cloudflare Workers (workerd)"}},"required":["status","version","timestamp","runtime"]},"User":{"type":"object","properties":{"id":{"type":"string","example":"usr_101"},"name":{"type":"string","example":"Sarah Connor"},"email":{"type":"string","format":"email","example":"sarah@example.com"},"role":{"type":"string","enum":["admin","member","viewer"],"example":"admin"},"createdAt":{"type":"string","example":"2026-01-15T08:30:00.000Z"}},"required":["id","name","email","role","createdAt"]},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string","example":"NOT_FOUND"},"message":{"type":"string","example":"Resource not found"}},"required":["code","message"]},"CreateUserPayload":{"type":"object","properties":{"name":{"type":"string","minLength":2,"example":"John Doe"},"email":{"type":"string","format":"email","example":"john@example.com"},"role":{"type":"string","enum":["admin","member","viewer"],"default":"member","example":"member"}},"required":["name","email"]},"Project":{"type":"object","properties":{"id":{"type":"string","example":"prj_404"},"name":{"type":"string","example":"Edge Documentation Platform"},"status":{"type":"string","enum":["active","archived","draft"],"example":"active"},"stars":{"type":"number","example":1240}},"required":["id","name","status","stars"]}},"parameters":{}},"paths":{"/api/v1/health":{"get":{"tags":["System"],"summary":"Check API Health","description":"Returns health status and runtime environment details for the Cloudflare Worker.","responses":{"200":{"description":"System is operational","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/api/v1/users":{"get":{"tags":["Users"],"summary":"List Users","description":"Retrieve a list of all users registered in the system.","responses":{"200":{"description":"List of users","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}}},"post":{"tags":["Users"],"summary":"Create User","description":"Creates a new user profile with validation.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserPayload"}}}},"responses":{"201":{"description":"User created successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"400":{"description":"Invalid input payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/users/{id}":{"get":{"tags":["Users"],"summary":"Get User by ID","description":"Retrieve detailed information for a single user by their ID.","parameters":[{"schema":{"type":"string","example":"usr_1"},"required":true,"name":"id","in":"path"}],"responses":{"200":{"description":"User details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/projects":{"get":{"tags":["Projects"],"summary":"List Projects","description":"Returns available projects with metadata.","responses":{"200":{"description":"List of projects","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Project"}}}}}}}}}}