{"servers":[{"url":"https://tanstack-app.sqlite-test.iterate-dev-jonas.app/api"}],"info":{"title":"Things API","version":"1.0.0","description":"oRPC + TanStack Start on Cloudflare Workers. CRUD, streaming, and OpenAPI — all inside a dynamic worker facet."},"openapi":"3.1.1","paths":{"/ping":{"get":{"operationId":"ping","description":"Health check","tags":["debug"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"time":{"type":"string"}},"required":["message","time"]}}}}}}},"/things":{"get":{"operationId":"things.list","description":"List all things","tags":["things"],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","createdAt"]}},"total":{"type":"number"}},"required":["items","total"]}}}}}},"post":{"operationId":"things.create","description":"Create a thing","tags":["things"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200}},"required":["name"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"createdAt":{"type":"string"}},"required":["id","name","createdAt"]}}}}}}},"/things/remove":{"post":{"operationId":"things.remove","description":"Delete a thing","tags":["things"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","minLength":1}},"required":["id"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"const":true},"id":{"type":"string"},"deleted":{"type":"boolean"}},"required":["ok","id","deleted"]}}}}}}},"/test/random-log-stream":{"post":{"operationId":"test.randomLogStream","description":"Stream random log lines with variable delays (async iterator)","tags":["streaming"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer","minimum":1,"maximum":500},"minDelayMs":{"type":"integer","minimum":0,"maximum":10000},"maxDelayMs":{"type":"integer","minimum":1,"maximum":10000}},"required":["count","minDelayMs","maxDelayMs"]}}}},"responses":{"200":{"description":"OK","content":{"text/event-stream":{"schema":{"oneOf":[{"type":"object","properties":{"event":{"const":"message"},"data":{"type":"string"},"id":{"type":"string"},"retry":{"type":"number"}},"required":["event","data"]},{"type":"object","properties":{"event":{"const":"done"},"data":{},"id":{"type":"string"},"retry":{"type":"number"}},"required":["event"]},{"type":"object","properties":{"event":{"const":"error"},"data":{},"id":{"type":"string"},"retry":{"type":"number"}},"required":["event"]}]}}}}}}}}}