Approvals
Use an approval when your agent wants to take an action that needs a human’s sign-off — issuing a refund, releasing a payout, sending an outbound email, or any destructive change to a system of record. The agent describes the action; a human approves, rejects, or edits it; the agent reads the decision back and acts.
The flow
An approval is a request you create on a task, then poll for the result. A common pattern is to gate only the actions that cross a policy threshold — the agent handles the routine cases, and humans see only the ones that need them.
What you send
What the reviewer decides
The reviewer picks one outcome, which comes back on result.outcome.type:
There’s no structured diff for an edit — the reviewer describes their change in outcome.note, and the agent reads it and acts (or re-requests if it’s ambiguous).
The result
get_result returns None while pending, and once decided:
A task holds one open request at a time — creating a second approval or elicitation while one is still pending returns a 409. Wait for the result, or open a separate task.