Approve one exact act
issue_approvalApprove a specific act by recording a principal's signed approval bound to its action hash, satisfying mandate verification's require_approval step.
Instructions
Record a named principal's approval of one exact act, bound to the action_hash verify_mandate reported. Call this only after verify_mandate answered require_approval, then call verify_mandate again passing approval_id and the identical proposed_action.
The approval is signed by the approving principal's own key, not by the agent's, because the control is that somebody other than the acting agent said yes. It binds one action hash and one transaction and is reusable across neither: change one byte of the act and the next verify_mandate returns A202-APPROVAL-HASH-MISMATCH. It also expires, after which it authorises nothing.
An approval never releases a deny. A denied constraint is a limit, not a question.
Returns the approval identifier, the action hash it binds, and when it expires.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| approver | Yes | The principal giving the approval, and the key that principal signs with. | |
| decision | No | Defaults to approved. A rejected approval releases nothing and is recorded as the refusal it is. | |
| conditions | No | Optional conditions the approver attached. They are part of the signed approval and travel with it. | |
| expires_at | No | RFC 3339 instant the approval expires, when you would rather state it than count from now. Overrides expires_after_seconds. | |
| action_hash | Yes | The action_hash verify_mandate returned for this act. 64 lowercase hexadecimal characters. | |
| requested_by | Yes | The agent whose act is being approved. The approver is a principal of this same organisation. | |
| transaction_id | Yes | The transaction the approved act belongs to, prefixed txn_. | |
| expires_after_seconds | No | How long the approval is good for, from now. Defaults to 3600. |