> ## Documentation Index
> Fetch the complete documentation index at: https://darwin.so/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Approvals and interactions

> Review exact terms and complete sensitive browser steps without widening authority.

Act pauses before consequential work when the user needs to provide authority, access, or payment.

## Approve an exact review

Only show approval controls when `availableActions` includes `approve`. Send the values returned by Get action without modifying them:

```json theme={null}
{
  "approvalId": "approval_123",
  "decision": "approve",
  "expectedRevision": "2026-09-19T16:30:00.000Z",
  "reviewedPayloadDigest": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
  "requestId": "invoice-1042-approval"
}
```

`decision` can be `approve`, `reject`, or `request_changes`. Add `reason` when it helps the provider or operator understand the decision.

If the payload, price, merchant, cart, revision, digest, or expiry changes, the previous approval is invalid. Fetch the current Action and ask the user to review again.

## Complete connection or payment

`connection_required` and `payment_required` can include a typed `interaction` and first-party Darwin `webLink`. Open the link only after a user gesture. Keep the Action nonterminal, then poll the same `actionId` for backend-confirmed progress.

Darwin authentication, provider authentication, and spending approval are separate. Completing one never silently grants the others.
