{"openapi":"3.1.0","info":{"title":"KYE Edge Arbiter API","version":"1.0.0","description":"Sealed-input deterministic arbiter for the KYE Edge Governance Rail.","license":{"name":"Apache-2.0","url":"https://kyeprotocol.com/legal.html"}},"servers":[{"url":"https://edge.kyeprotocol.com"}],"paths":{"/arbitrate":{"post":{"summary":"Arbitrate an Action against a Compiled Authority Bundle","operationId":"edgeArbitrate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["bundle","action","context"],"properties":{"bundle":{"type":"object"},"action":{"type":"object"},"context":{"type":"object"}}}}}},"responses":{"200":{"description":"Edge decision record","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"invalid_json, missing_field, or bundle signature invalid (fail closed)"},"405":{"description":"Method or path not supported"}}}},"/health":{"get":{"summary":"Liveness probe","operationId":"edgeHealth","responses":{"200":{"description":"OK"}}}},"/":{"get":{"summary":"Service descriptor","operationId":"edgeDescriptor","responses":{"200":{"description":"Descriptor JSON"}}}},"/openapi":{"get":{"summary":"OpenAPI spec","operationId":"edgeOpenAPI","responses":{"200":{"description":"OpenAPI 3.1 document"}}}}}}