Skip to main content
When a payment exceeds the agent’s auto-approval threshold — or a policy rule forces review — Reinx holds it for a human decision. The human approves or denies from the dashboard (with an email notification); the agent learns the outcome programmatically.

The two windows

Approvals run on two separate clocks:
1

Human decision window — 72 hours (configurable)

The owner (or an operator with approval rights) has up to 72 hours to approve or deny the request. Requests not acted on in time expire, and the agent must re-request.
2

Execution

Once approved, Reinx executes the wallet transfer automatically — the agent doesn’t act again, it just polls until the transfer settles. (Card-rail approvals, coming with the card program, instead give the agent a 15-minute window to execute the charge.)

Denials teach the agent

A denial isn’t a dead end — the human can attach feedback text, which the agent retrieves via the get_denial_feedback MCP tool. Well-built agents read the feedback, adjust (different amount, different merchant, better justification), and re-request.
Denied: "This subscription is a duplicate — we already pay for Figma
on the design team's agent. Don't re-request."

How agents track a pending approval

After a request returns the pending_approval verdict, the agent polls check_approval_status with the returned requestId (passed as the request_id parameter):
  • Poll roughly every 30 seconds, honoring the retry_after_seconds hint in each response.
  • For wallet payments, approved means the transfer is in flight — Reinx executes it on approval. Keep polling until the status is terminal: used (settled) or failed.
  • Terminal statuses: used, failed, denied, expired.
Never treat approved as “done” for a wallet payment. The money has not settled until the status reads used.

Notifications

Approval requests notify the owner immediately — in the dashboard notification feed and by email. Mobile push and SMS delivery arrive with the mobile app rollout.