{"info":{"title":"Patton API","version":"1.0.0"},"openapi":"3.1.0","components":{"schemas":{},"parameters":{}},"paths":{"/api/v1/status":{"get":{"responses":{"200":{"description":"Patton API status","content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","enum":["patton"]},"status":{"type":"string","enum":["ok"]},"version":{"type":"string","enum":["v1"]}},"required":["name","status","version"]}}}}}}},"/api/v1/private/access":{"get":{"responses":{"200":{"description":"Authenticated actor access context","content":{"application/json":{"schema":{"type":"object","properties":{"userId":{"type":"string"},"roles":{"type":"array","items":{"type":"string","enum":["app-admin","app-client","app-staff"]}}},"required":["userId","roles"]}}}},"401":{"description":"Authentication required"},"403":{"description":"Actor lacks capability or scope"}}}},"/api/v1/events":{"get":{"responses":{"200":{"description":"Authorized durable application event stream","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Invalid Last-Event-ID"},"401":{"description":"Authentication required"},"403":{"description":"Actor lacks capability or scope"}}}}}}