Approvals
High-risk actions wait for a human.
Risk class is declared on the command, not at runtime. R3 commands route through RequestApproval before the underlying command runs. Approvals carry actor, scope, TTL, and binding. Audit captures every grant and every use.
What it does
Three things this surface gives you.
- Approvals are bound to a specific action, resource, and TTL. They cannot be reused outside that scope.
- Same boundary applies to humans, systems, and AI agents. No backdoor writes.
- Every grant + every use is captured in audit, including the receipt chain that followed.
Approve and execute
Worked example.
# Agent or system proposes the change
mutation Propose {
requestApproval(input: {
actionType: "AdjustInventoryBulk",
payload: { /* ... */ },
requestedBy: "agent:orion-prod"
}) {
approvalId
}
}
# Human grants the approval, then the underlying
# command runs once with the bound approval id.Continue inside the hosted KarmanFlow docs for the schema reference, explorer, runtime notes, and preview setup guidance.
Read hosted runtime guidePreview
Run a working integration path.
Request a guided preview workspace, or bring a sample integration shape to a working session and we will walk through it on a call.