API ReferenceDecision APIEscalations
Get escalation notice
AuthorizationBearer <token>
In: header
Scope: agp.decision.read, agp.decision.write
Path Parameters
escalationId*string
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/agp/escalations/string"{ "type": "EscalationNotice", "escalation_id": "string", "task_id": "string", "raising_agent_id": "string", "raising_agent_role": "executive", "concern_type": "ethical_violation", "description": "string", "evidence_refs": [ "string" ], "requested_action": "quarantine", "resolution": { "resolved_by": "string", "outcome": "upheld", "notes": "string", "resolved_at": "2019-08-24T14:15:22Z" }, "raised_at": "2019-08-24T14:15:22Z", "signature": { "alg": "string", "kid": "string", "issuer": "string", "issued_at": "2019-08-24T14:15:22Z", "payload_hash": "string", "value": "string" }}{ "error": { "code": "AGP_INVALID_REQUEST", "message": "string", "retryable": true, "details": {} }}{ "error": { "code": "AGP_INVALID_REQUEST", "message": "string", "retryable": true, "details": {} }}{ "error": { "code": "AGP_INVALID_REQUEST", "message": "string", "retryable": true, "details": {} }}Raise escalation notice POST
Any authorized agent may raise an EscalationNotice (the Whistleblower mechanism). The raising agent does not have to be the executing agent. requested_action determines mandatory task state transition: - quarantine -> QUARANTINED (immediate, no human required) - pause_and_review -> APPROVAL_PENDING - escalate_to_human -> APPROVAL_PENDING with mandatory human approver EscalationNotices are permanent audit records even if later dismissed. See §23.
Resolve escalation notice PATCH
Populated by the resolving authority after review. Upheld, dismissed, or partially upheld.