What approvals provide#
Approvals gate risky actions behind human review. They cover budget overrides, autonomy exceptions, routine decisions, and sensitive operator controls.
Creating approvals#
POST /api/v1/approvals creates an approval request. The system
also creates approvals automatically when governed actions trigger
approval-required policies.
Resolving approvals#
POST /api/v1/approvals/{id} resolves an approval:
| Decision | Effect |
|---|---|
| approve | Action proceeds |
| reject | Action is blocked with reason |
Include an optional comment and reason with the decision.
Discussion threads#
POST /api/v1/approvals/{id}/comments adds a comment to the
approval discussion. Comments are timestamped and attributed to the
commenting user.
Approval types#
| Type | Trigger |
|---|---|
| Budget override | Action exceeds workspace budget threshold |
| Autonomy exception | Action exceeds autonomy policy confidence |
| Routine decision | Scheduled routine requires human confirmation |
| Operator control | Sensitive operator action (requeue, reassign, abort) |
Operator-control approvals#
When workspace governance requires approval for sensitive actions,
the system determines whether an action is APPROVAL_REQUIRED or
DIRECT based on the action type. Sensitive actions include
requeue, reassign, and abort.
Dashboard#
The approvals inbox at /dashboard/{workspaceId}/sidekick/approvals
shows pending approvals with decision buttons and discussion threads.
Transition history#
Every approval state change (created, approved, rejected) is recorded in the transition history with timestamp, actor, and reason.