{"components":{"schemas":{},"securitySchemes":{"ApiKeyAuth":{"in":"header","name":"X-API-Key","type":"apiKey"}}},"info":{"description":"Read-only telemetry plus supervised allowlisted action queue.","title":"SigmaForge Rack Bridge","version":"2.0.0"},"openapi":"3.1.0","paths":{"/api/actions":{"get":{"operationId":"listActions","responses":{"200":{"description":"list actions"}},"security":[{"ApiKeyAuth":[]}]}},"/api/actions/submit":{"post":{"operationId":"submitAction","responses":{"200":{"description":"queued"}},"security":[{"ApiKeyAuth":[]}]}},"/api/actions/{action_id}":{"get":{"operationId":"getAction","parameters":[{"in":"path","name":"action_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"action details"}},"security":[{"ApiKeyAuth":[]}]}},"/api/actions/{action_id}/approve":{"post":{"operationId":"approveAction","parameters":[{"in":"path","name":"action_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"approved"}},"security":[{"ApiKeyAuth":[]}]}},"/api/actions/{action_id}/result":{"get":{"operationId":"getActionResult","parameters":[{"in":"path","name":"action_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"execution result payload"}},"security":[{"ApiKeyAuth":[]}]}},"/api/actions/{action_id}/run":{"post":{"operationId":"runAction","parameters":[{"in":"path","name":"action_id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"execution result"}},"security":[{"ApiKeyAuth":[]}]}},"/api/inventory":{"get":{"operationId":"getInventory","responses":{"200":{"description":"inventory"}},"security":[{"ApiKeyAuth":[]}]}},"/api/logs/{service_key}":{"get":{"operationId":"getServiceLogs","parameters":[{"in":"path","name":"service_key","required":true,"schema":{"enum":["sigmaforge-camera-dashboard","sigmaforge-esp32p4-serial-watch","sigmaforge-rack-bridge"],"type":"string"}}],"responses":{"200":{"description":"service logs"}},"security":[{"ApiKeyAuth":[]}]}},"/api/ping":{"get":{"operationId":"ping","responses":{"200":{"description":"simple ping"}},"security":[{"ApiKeyAuth":[]}]}},"/api/state":{"get":{"operationId":"getState","responses":{"200":{"description":"state snapshot"}},"security":[{"ApiKeyAuth":[]}]}},"/api/state/summary":{"get":{"operationId":"getStateSummary","responses":{"200":{"description":"fast lightweight state summary"}},"security":[{"ApiKeyAuth":[]}]}},"/healthz":{"get":{"operationId":"healthz","responses":{"200":{"description":"ok"}},"security":[]}},"/openapi.json":{"get":{"operationId":"openapi","responses":{"200":{"description":"spec"}},"security":[]}}},"servers":[{"url":"https://getac-s410-work.tail76ae1b.ts.net"}]}
