{"openapi":"3.1.0","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"Vizier action authorization API","version":"0.3.0","description":"Deterministic authorization for exact agent actions. Authority may be asserted by the integration or proved with a delegation grant the principal signed, which Vizier verifies against a registered key and records in the receipt. Evidence, invalidation signals, and reported outcomes remain integration-supplied: Vizier verifies structure, freshness, exact matching, and cryptographic bindings, and does not independently establish that supplied facts or reported execution are true.","contact":{"name":"Vassiliy Lakhonin","url":"https://github.com/vassiliylakhonin"}},"servers":[{"url":"https://vizier.vassiliy-lakhonin.workers.dev"}],"tags":[{"name":"Verification","description":"Single-action policy evaluation."},{"name":"Action Covenants","description":"Authenticated activation, exact-action authorization, and reported-outcome binding."},{"name":"Audit","description":"Authenticated aggregate counts over metadata-only operational records."}],"security":[{"bearerAuth":[]}],"paths":{"/v1/verify":{"post":{"operationId":"verifyAgentAction","tags":["Verification"],"summary":"Evaluate one proposed agent action","description":"Returns ALLOW, REVIEW, or BLOCK. Authority is caller-asserted unless the request carries a `grant`: a compact JWS signed by the principal that binds this exact authority to this agent. A grant is verified against a key registered for the principal, must match the request, and is refused rather than downgraded when it does not verify. The receipt reports which of the two the decision rested on in `authority_provenance`. The public deployment requires a Bearer credential for enforcement results.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationRequest"}}}},"responses":{"200":{"description":"Authorization decision.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/ValidationError"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/v1/covenants":{"post":{"operationId":"activateActionCovenant","tags":["Action Covenants"],"summary":"Activate an accepted exact-action covenant","description":"Checks that the authenticated integration supplied acceptance from the covenant principal bound to the exact draft hash. Principal-signed acceptance is not independently verified in v0.2.1.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCovenantActivationRequest"}}}},"responses":{"201":{"description":"Activated Action Covenant.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCovenant"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/ValidationError"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/authorizations":{"post":{"operationId":"authorizeCovenantAction","tags":["Action Covenants"],"summary":"Authorize the exact action bound to a covenant","description":"Checks covenant integrity and expiry, exact action matching, supplied evidence freshness, supplied invalidation signals, and delegated authority. Returns a compact ES256 authorization JWS for every decision.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCovenantAuthorizationRequest"}}}},"responses":{"200":{"description":"Authorization decision and signed receipt.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionCovenantAuthorizationResponse"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/ValidationError"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/outcomes":{"post":{"operationId":"recordActionOutcome","tags":["Action Covenants"],"summary":"Bind a reported execution outcome to an authorization","description":"Verifies the ALLOW authorization receipt and exact bindings, checks forbidden-effect rules, and signs the caller-reported outcome. This is not independent proof that execution occurred as reported.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutcomeRecordingRequest"}}}},"responses":{"201":{"description":"Signed reported-outcome receipt.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignedOutcomeReceipt"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"413":{"$ref":"#/components/responses/PayloadTooLarge"},"415":{"$ref":"#/components/responses/UnsupportedMediaType"},"422":{"$ref":"#/components/responses/ValidationError"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}},"/v1/insights":{"get":{"operationId":"getAuditInsights","tags":["Audit"],"summary":"Read aggregate authorization and outcome counts","description":"Returns authenticated operational aggregates. The audit store excludes action parameters, evidence, signals, outcome effects, credentials, and JWS tokens. Counts are best-effort instrumentation, not proof of adoption or complete execution history.","responses":{"200":{"description":"Metadata-only audit aggregates.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditInsights"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"500":{"$ref":"#/components/responses/InternalError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Integration credential required by the public deployment. Anonymous A2A calls remain evaluation-only and cannot return ALLOW."}},"schemas":{"JsonValue":{"anyOf":[{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},{"type":"array","items":{"$ref":"#/components/schemas/JsonValue"}},{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}]},"Agent":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"owner":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]}},"required":["id","owner"],"additionalProperties":false},"Principal":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256}},"required":["id"],"additionalProperties":false},"Action":{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":128},"target":{"type":"string","minLength":1,"maxLength":2048},"parameters":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}},"is_reversible":{"type":"boolean"}},"required":["type","target","parameters"],"additionalProperties":false},"Authority":{"type":"object","properties":{"allowed_actions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"constraints":{"type":"object","properties":{"max_amount":{"type":"number","minimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"allowed_targets":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"blocked_targets":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"allowed_sensitive_actions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"require_review_for_irreversible":{"type":"boolean"},"max_repeated_calls":{"type":"integer","minimum":1,"maximum":100},"time_window_seconds":{"type":"number","minimum":1,"maximum":3600},"max_session_actions":{"type":"integer","minimum":1,"maximum":10000},"cool_off_seconds":{"type":"number","minimum":1,"maximum":86400},"sanctions_screening":{"type":"boolean"},"blocked_entities":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"dlp_screening":{"type":"boolean"},"allowed_dlp_categories":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"quorum":{"type":"object","properties":{"min_approvals":{"type":"integer","minimum":1,"maximum":10},"allowed_approvers":{"type":"array","items":{"type":"string","minLength":1,"maxLength":2048}},"require_distinct_owners":{"type":"boolean"},"max_age_seconds":{"type":"integer","minimum":1,"maximum":86400}},"required":["min_approvals"],"additionalProperties":false}},"additionalProperties":false}},"required":["allowed_actions","constraints"],"additionalProperties":false},"RequestContext":{"type":"object","properties":{"request_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":256},{"type":"null"}]},"session_id":{"type":"string","minLength":1,"maxLength":256},"timestamp":{"anyOf":[{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},{"type":"null"}]},"source":{"type":"string","enum":["a2a","mcp","rest","internal","unknown"]},"proposal_id":{"type":"string","pattern":"^prp_[0-9a-zA-Z_-]+$"},"approvals":{"type":"array","items":{"type":"object","properties":{"approver_id":{"type":"string","minLength":1,"maxLength":256},"approver_owner":{"type":"string","minLength":1,"maxLength":256},"action_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"timestamp":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"decision":{"default":"APPROVE","type":"string","enum":["APPROVE","REJECT"]},"grant_token":{"type":"string"},"signature":{"type":"string"},"notes":{"type":"string","maxLength":1024}},"required":["approver_id","action_hash","timestamp"],"additionalProperties":false}}},"required":["request_id","timestamp","source"],"additionalProperties":false},"VerificationRequest":{"type":"object","properties":{"agent":{"$ref":"#/components/schemas/Agent"},"principal":{"anyOf":[{"$ref":"#/components/schemas/Principal"},{"type":"null"}]},"action":{"$ref":"#/components/schemas/Action"},"authority":{"$ref":"#/components/schemas/Authority"},"context":{"$ref":"#/components/schemas/RequestContext"},"grant":{"type":"string","minLength":1,"maxLength":8192}},"required":["agent","principal","action","authority","context"],"additionalProperties":false},"VerificationResponse":{"type":"object","properties":{"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"risk_score":{"type":"number","minimum":0,"maximum":1},"reason_codes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"explanation":{"type":"string","minLength":1,"maxLength":4096},"policy_results":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":512},"result":{"type":"string","enum":["PASS","REVIEW","FAIL"]},"reason_code":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}},"required":["rule_id","result","reason_code","details"],"additionalProperties":false}},"receipt":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"created_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"request_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"risk_score":{"type":"number","minimum":0,"maximum":1},"policy_rule_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"reason_codes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"authority_provenance":{"type":"string","enum":["principal_signed","trusted_integration","unverified"]},"grant":{"type":"object","properties":{"jti":{"type":"string","minLength":1,"maxLength":256},"issuer":{"type":"string","minLength":1,"maxLength":256},"subject":{"type":"string","minLength":1,"maxLength":256},"key_id":{"type":"string","minLength":1,"maxLength":256},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["jti","issuer","subject","key_id","expires_at"],"additionalProperties":false}},"required":["id","created_at","request_hash","decision","risk_score","policy_rule_ids","reason_codes","authority_provenance"],"additionalProperties":false}},"required":["decision","risk_score","reason_codes","explanation","policy_results","receipt"],"additionalProperties":false},"CovenantAcceptance":{"type":"object","properties":{"accepted_by":{"$ref":"#/components/schemas/Principal"},"accepted_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"draft_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["accepted_by","accepted_at","draft_hash"],"additionalProperties":false},"ActionCovenantActivationRequest":{"type":"object","properties":{"draft":{"type":"object","properties":{"schema_version":{"type":"string","const":"0.2"},"drafted_by":{"type":"object","properties":{"kind":{"type":"string","enum":["MODEL","HUMAN","SYSTEM"]},"identifier":{"type":"string","minLength":1,"maxLength":256}},"required":["kind","identifier"],"additionalProperties":false},"drafted_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"principal":{"$ref":"#/components/schemas/Principal"},"agent":{"$ref":"#/components/schemas/Agent"},"intent":{"type":"string","minLength":1,"maxLength":4096},"action":{"$ref":"#/components/schemas/Action"},"authority":{"$ref":"#/components/schemas/Authority"},"evidence_requirements":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"evidence_type":{"type":"string","minLength":1,"maxLength":256},"description":{"type":"string","minLength":1,"maxLength":1024},"max_age_seconds":{"type":"integer","minimum":1,"maximum":31536000}},"required":["id","evidence_type","description","max_age_seconds"],"additionalProperties":false}},"invalidation_rules":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"signal_type":{"type":"string","minLength":1,"maxLength":256},"match":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","signal_type","match","reason"],"additionalProperties":false}},"forbidden_outcomes":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"effect_type":{"type":"string","minLength":1,"maxLength":256},"target":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","effect_type","reason"],"additionalProperties":false}},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["schema_version","drafted_by","drafted_at","principal","agent","intent","action","authority","evidence_requirements","invalidation_rules","forbidden_outcomes","expires_at"],"additionalProperties":false},"acceptance":{"$ref":"#/components/schemas/CovenantAcceptance"}},"required":["draft","acceptance"],"additionalProperties":false},"ActionCovenant":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"version":{"type":"number","const":1},"status":{"type":"string","const":"ACTIVE"},"activated_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"draft":{"type":"object","properties":{"schema_version":{"type":"string","const":"0.2"},"drafted_by":{"type":"object","properties":{"kind":{"type":"string","enum":["MODEL","HUMAN","SYSTEM"]},"identifier":{"type":"string","minLength":1,"maxLength":256}},"required":["kind","identifier"],"additionalProperties":false},"drafted_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"principal":{"$ref":"#/components/schemas/Principal"},"agent":{"$ref":"#/components/schemas/Agent"},"intent":{"type":"string","minLength":1,"maxLength":4096},"action":{"$ref":"#/components/schemas/Action"},"authority":{"$ref":"#/components/schemas/Authority"},"evidence_requirements":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"evidence_type":{"type":"string","minLength":1,"maxLength":256},"description":{"type":"string","minLength":1,"maxLength":1024},"max_age_seconds":{"type":"integer","minimum":1,"maximum":31536000}},"required":["id","evidence_type","description","max_age_seconds"],"additionalProperties":false}},"invalidation_rules":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"signal_type":{"type":"string","minLength":1,"maxLength":256},"match":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","signal_type","match","reason"],"additionalProperties":false}},"forbidden_outcomes":{"maxItems":32,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":256},"effect_type":{"type":"string","minLength":1,"maxLength":256},"target":{"type":"string","minLength":1,"maxLength":2048},"reason":{"type":"string","minLength":1,"maxLength":1024}},"required":["id","effect_type","reason"],"additionalProperties":false}},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"}},"required":["schema_version","drafted_by","drafted_at","principal","agent","intent","action","authority","evidence_requirements","invalidation_rules","forbidden_outcomes","expires_at"],"additionalProperties":false},"acceptance":{"$ref":"#/components/schemas/CovenantAcceptance"},"covenant_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["id","version","status","activated_at","draft","acceptance","covenant_hash"],"additionalProperties":false},"EvidenceObservation":{"type":"object","properties":{"requirement_id":{"type":"string","minLength":1,"maxLength":256},"evidence_type":{"type":"string","minLength":1,"maxLength":256},"source":{"type":"string","minLength":1,"maxLength":256},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"content_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"}},"required":["requirement_id","evidence_type","source","observed_at","content_hash"],"additionalProperties":false},"SignalObservation":{"type":"object","properties":{"signal_type":{"type":"string","minLength":1,"maxLength":256},"source":{"type":"string","minLength":1,"maxLength":256},"observed_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"attributes":{"type":"object","propertyNames":{"type":"string","minLength":1,"maxLength":256},"additionalProperties":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"null"}]}}},"required":["signal_type","source","observed_at","attributes"],"additionalProperties":false},"ActionCovenantAuthorizationRequest":{"type":"object","properties":{"covenant":{"$ref":"#/components/schemas/ActionCovenant"},"action":{"$ref":"#/components/schemas/Action"},"evidence":{"maxItems":32,"type":"array","items":{"$ref":"#/components/schemas/EvidenceObservation"}},"signals":{"maxItems":64,"type":"array","items":{"$ref":"#/components/schemas/SignalObservation"}},"context":{"$ref":"#/components/schemas/RequestContext"}},"required":["covenant","action","evidence","signals","context"],"additionalProperties":false},"AuthorizationReceiptPayload":{"type":"object","properties":{"type":{"type":"string","const":"ACTION_AUTHORIZATION"},"version":{"type":"number","const":1},"id":{"type":"string","minLength":1,"maxLength":256},"issuer":{"type":"string","maxLength":2048,"format":"uri"},"issued_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"expires_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"covenant_id":{"type":"string","minLength":1,"maxLength":256},"covenant_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"request_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"action_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"evidence_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"signals_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"risk_score":{"type":"number","minimum":0,"maximum":1},"policy_rule_ids":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}},"reason_codes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}}},"required":["type","version","id","issuer","issued_at","expires_at","covenant_id","covenant_hash","request_hash","action_hash","evidence_hash","signals_hash","decision","risk_score","policy_rule_ids","reason_codes"],"additionalProperties":false},"SignedAuthorizationReceipt":{"type":"object","properties":{"payload":{"$ref":"#/components/schemas/AuthorizationReceiptPayload"},"token":{"type":"string","minLength":1,"maxLength":32768}},"required":["payload","token"],"additionalProperties":false},"ActionCovenantAuthorizationResponse":{"type":"object","properties":{"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"risk_score":{"type":"number","minimum":0,"maximum":1},"reason_codes":{"maxItems":100,"type":"array","items":{"type":"string","minLength":1,"maxLength":128}},"explanation":{"type":"string","minLength":1,"maxLength":4096},"policy_results":{"minItems":1,"maxItems":100,"type":"array","items":{"type":"object","properties":{"rule_id":{"type":"string","minLength":1,"maxLength":512},"result":{"type":"string","enum":["PASS","REVIEW","FAIL"]},"reason_code":{"anyOf":[{"type":"string","minLength":1,"maxLength":128},{"type":"null"}]},"details":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}},"required":["rule_id","result","reason_code","details"],"additionalProperties":false}},"authorization_receipt":{"$ref":"#/components/schemas/SignedAuthorizationReceipt"}},"required":["decision","risk_score","reason_codes","explanation","policy_results","authorization_receipt"],"additionalProperties":false},"AuditInsights":{"type":"object","properties":{"decisions":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["decision","count"],"additionalProperties":false}},"authorization_decisions":{"minItems":3,"maxItems":3,"type":"array","items":{"type":"object","properties":{"decision":{"type":"string","enum":["ALLOW","REVIEW","BLOCK"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["decision","count"],"additionalProperties":false}},"anonymous_calls":{"minItems":4,"maxItems":4,"type":"array","items":{"type":"object","properties":{"surface":{"type":"string","enum":["mcp","a2a"]},"outcome":{"type":"string","enum":["served","throttled"]},"count":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["surface","outcome","count"],"additionalProperties":false}},"average_risk_score":{"type":"number","minimum":0,"maximum":1},"failures":{"type":"integer","minimum":0,"maximum":9007199254740991},"totals":{"type":"object","properties":{"verifications":{"type":"integer","minimum":0,"maximum":9007199254740991},"covenants":{"type":"integer","minimum":0,"maximum":9007199254740991},"authorizations":{"type":"integer","minimum":0,"maximum":9007199254740991},"outcomes":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["verifications","covenants","authorizations","outcomes"],"additionalProperties":false}},"required":["decisions","authorization_decisions","anonymous_calls","average_risk_score","failures","totals"],"additionalProperties":false},"ExecutionOutcome":{"type":"object","properties":{"status":{"type":"string","enum":["SUCCEEDED","FAILED","PARTIAL"]},"started_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"finished_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"effects":{"maxItems":64,"type":"array","items":{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":256},"target":{"type":"string","minLength":1,"maxLength":2048},"parameters":{"type":"object","propertyNames":{"type":"string","maxLength":256},"additionalProperties":{"$ref":"#/components/schemas/JsonValue"}}},"required":["type","target","parameters"],"additionalProperties":false}},"external_reference":{"anyOf":[{"type":"string","minLength":1,"maxLength":2048},{"type":"null"}]}},"required":["status","started_at","finished_at","effects","external_reference"],"additionalProperties":false},"OutcomeRecordingRequest":{"type":"object","properties":{"covenant":{"$ref":"#/components/schemas/ActionCovenant"},"authorization_receipt":{"$ref":"#/components/schemas/SignedAuthorizationReceipt"},"outcome":{"$ref":"#/components/schemas/ExecutionOutcome"}},"required":["covenant","authorization_receipt","outcome"],"additionalProperties":false},"OutcomeReceiptPayload":{"type":"object","properties":{"type":{"type":"string","const":"OUTCOME_RECEIPT"},"version":{"type":"number","const":1},"id":{"type":"string","minLength":1,"maxLength":256},"issuer":{"type":"string","maxLength":2048,"format":"uri"},"issued_at":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"authorization_receipt_id":{"type":"string","minLength":1,"maxLength":256},"authorization_token_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"covenant_id":{"type":"string","minLength":1,"maxLength":256},"covenant_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"outcome_hash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"compliance":{"type":"string","enum":["COMPLIANT","VIOLATION"]},"violation_codes":{"maxItems":32,"type":"array","items":{"type":"string","minLength":1,"maxLength":512}}},"required":["type","version","id","issuer","issued_at","authorization_receipt_id","authorization_token_hash","covenant_id","covenant_hash","outcome_hash","compliance","violation_codes"],"additionalProperties":false},"SignedOutcomeReceipt":{"type":"object","properties":{"payload":{"$ref":"#/components/schemas/OutcomeReceiptPayload"},"token":{"type":"string","minLength":1,"maxLength":32768}},"required":["payload","token"],"additionalProperties":false},"ApiError":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","minLength":1,"maxLength":128},"message":{"type":"string","minLength":1,"maxLength":4096},"details":{}},"required":["code","message"],"additionalProperties":false}},"required":["error"],"additionalProperties":false}},"responses":{"BadRequest":{"description":"Malformed JSON request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"Unauthorized":{"description":"Missing or invalid integration credential.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"PayloadTooLarge":{"description":"Request exceeds the 1 MiB body limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"UnsupportedMediaType":{"description":"Content-Type must be application/json.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ValidationError":{"description":"Request failed schema or lifecycle validation.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"ServiceUnavailable":{"description":"Enforcement or receipt signing is not configured correctly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"InternalError":{"description":"The request could not be processed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}