Dashboard Guide
How to use the PINTI dashboard to manage policies, handles, approvals, and logs.
Payment Handles
Payment handles define how approved spend gets executed. Each handle operates in one of three modes:
| Mode | Who Pays | When to Use |
|---|---|---|
| SDK Guard | Your agent (via your code) | You call Stripe/MoonPay/etc. yourself and submit a receipt |
| External Executor | Your backend | PINTI calls your executor URL with the SAT; your backend pays |
| Managed | PINTI | PINTI handles payment end-to-end (coming soon) |
Workflow
- Create — Go to Handles and click "Create Handle". Choose SDK Guard or External Executor.
- Configure — For External Executor, provide your backend URL and auth token. PINTI will call this URL with approved spend intents.
- Set default — One handle should be the default. When a spend intent doesn't specify a
handleId, the default is used. - Health check — For External Executors, use the health check button to verify your backend is reachable.
Tip
Learn more about execution modes in the Payment Handles documentation.
Policies
The Policies page is where you define your spend rules.
Workflow
- Create — Click "New Policy". Set per-transaction limits, daily/monthly caps, merchant allow/blocklists, and approval thresholds.
- Test — Use the Quickstart curl example or SDK to evaluate a spend intent. Check that the decision matches your expectations.
- Enable — Toggle the policy on/off with the active switch. Inactive policies are skipped during evaluation.
Tip
Start with one global policy. All amounts are in minor currency units (e.g. 10000 = $100.00 in cents).
Approvals
When a spend exceeds the approval threshold, it lands here for human review.
Workflow
- Review pending — See all pending approvals with amount, merchant, reason, and agent ID.
- Resolve — Approve or reject with an optional note. On approval, a SAT is issued and the agent is notified.
- Audit — Resolved approvals stay in the list with timestamp and decision.
Note
Agents can receive instant notifications when approvals are resolved via
callbackUrl. You can also configure a workspace-wide webhook in Settings → Notifications. See Approvals & Callbacks for details.API Keys
API keys authenticate your agents and integrations.
Workflow
- Generate — Click "Generate Key". A new key is created instantly.
- Copy — Copy the full key immediately. It's shown only once.
- Use — Set the key as
PINTI_API_KEYin your environment or pass it via thex-api-keyheader.
Warning
If you lose a key, revoke it and generate a new one. Keys are hashed and cannot be recovered.
Logs
Every spend evaluation is logged. Use logs for debugging and compliance.
Workflow
- Browse — See all spend requests with decision, amount, merchant, and timestamp.
- Filter — Search by agent ID, merchant, decision type, or date range.
- Trace — Use the
spendRequestIdto trace a specific request through the system. - Anomalies — Missing receipts and other anomalies are flagged automatically.
Settings
Workspace configuration, billing, and notifications.
- Workspace — View your workspace name and ID.
- Plan — View current plan limits. Upgrade to Pro for unlimited policies, keys, and evaluations ($29/month).
- Connector Keys — Public keys for SAT verification. Used by external executors to verify authorization tokens.
- Notifications — Configure how you get notified about approvals:
- Notification Email — Override email address for approval notifications (defaults to workspace owner).
- Approval Webhook URL — Receive
approval.pendingandapproval.resolvedevents via POST. Works with Slack, Telegram, Zapier, or your own endpoint. - Test Webhook — Send a test payload to verify your webhook URL is reachable.
Tip
See Approvals & Callbacks for webhook payload formats and agent callback setup.