decide_pending_action
Approve or reject one AI action parked for a human decision (the twin of ankra chat actions confirm|reject), or every action of one batch at once by its batch_id (the actions one session parked together, shown beside each action by list_pending_actions), for MCP clients acting on behalf of an organisation admin. Only organisation admins, and the policy's designated approvers when it names any, may decide; approving resumes the session that proposed the action and executes the change it parked, rejecting tells it not to. Read the action with list_pending_actions first and say plainly what approving will change. Refused once the action is already decided or expired. Over MCP or any API token the decision needs a token whose scopes name ai_actions.approve: mcp:write alone is refused (error_code AI_ACTION_APPROVAL_NEEDS_HUMAN_PERMISSION). On a protected target (a stack under an enabled backup policy, or a production cluster) the person who configured the remediation policy, or whose identity the proposing lane runs as, cannot approve; another admin must (error_code AI_ACTION_SELF_APPROVAL_ON_PROTECTED_TARGET); that self-approval rule never restricts rejecting. Not offered in chat: there, the parked action's own card is the decision.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| batch_id | No | The batch id (UUID) from list_pending_actions, to decide every live action of the batch at once. Name this or action_id, not both. | |
| decision | Yes | Approve runs the parked change; reject discards it. | |
| action_id | No | The pending action id (UUID) from list_pending_actions. Name this or batch_id, not both. | |
| action_ids | No | With batch_id and decision approve: the action ids (UUIDs) to approve; the batch's other live actions are rejected. Omit to approve them all. Not allowed with reject, which settles the whole batch. |