Approvals

An approval is a single-use human decision for one specific spend.

Use approvals when a capability call needs review right now. Use a mandate when the user wants to give an agent standing permission with conditions and a budget.

Approvals are usually created because:

  • A capability call exceeded a configured approval threshold.
  • The agent needs explicit human confirmation for a high-value or risky action.
  • A previous execution attempt returned escalation_required.

Flow

agent calls /gateway/<slug>
Lipafy returns 402 escalation_required
agent creates an approval request
user approves in the dashboard or by wallet signature
agent retries with approval_id
Lipafy executes the call and consumes the approval

Lifecycle

StatusMeaning
pendingCreated and awaiting a human decision
approvedApproved by a human
deniedDenied by a human
expiredTTL elapsed before a decision
usedConsumed by a successful execute call

Only an approved approval can be consumed. Consuming an approval is atomic with the wallet hold, so two parallel retries cannot both spend the same approval.

Who can decide

Agents cannot approve their own requests.

The normal decision endpoint requires a human dashboard session. Lipafy also supports wallet-signature approval for wallets linked to the account.

Approval vs mandate

If you wantUse
One-time permission for a specific callApproval
Standing permission with conditions and budgetMandate
A decision that can be made from a linked walletApproval by wallet signature
Multi-use autonomous executionMandate