{"openapi":"3.0.3","info":{"title":"Elysia Documentation","description":"Development documentation","version":"0.0.0"},"paths":{"/":{"get":{"summary":"Return static welcome HTML","operationId":"getIndex"}},"/health":{"get":{"summary":"Healthcheck","responses":{"200":{"description":"Response for status 200","content":{"text/plain":{"schema":{"const":"OK","type":"string"}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"const":"INTERNAL_SERVER_ERROR","type":"string"}}}}}}},"operationId":"getHealth"}},"/watchtower":{"post":{"summary":"Webhook for receiving all watchtower alerts","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["message","title"],"properties":{"message":{"type":"string"},"title":{"type":"string"}}}}},"required":true},"responses":{"200":{"description":"Response for status 200","content":{"text/plain":{"schema":{"const":"OK","type":"string"}}}},"500":{"description":"Response for status 500","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}},"operationId":"postWatchtower"}},"/traefik/":{"get":{"summary":"Get Traefik dynamic configuration","responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"nullable":true,"anyOf":[{"type":"object","required":["yaml","rawKeysCount"],"properties":{"yaml":{"description":"YAML string representation of the config","type":"string"},"rawKeysCount":{"description":"Number of raw keys in the config","type":"number"}}},{"type":"null"}]}}}}}}},"operationId":"getTraefik"},"post":{"summary":"Update Traefik dynamic configuration","responses":{"200":{"description":"Response for status 200","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"description":"Number of updated keys","type":"number"}}}}}},"400":{"description":"Response for status 400","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}}}}}},"operationId":"postTraefik"}}},"components":{"schemas":{}}}