Documentation Index
Fetch the complete documentation index at: https://ramps-docs-agents-webhook-and-account-model-links.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Agent connectivity is currently limited availability. To request access, book a demo or reach out to your Lightspark contact.
Treat approval requests like first-class user tasks. They should be easy to find, easy to understand, and safe to retry without duplicating execution.
Approval lifecycle
When an agent submits an action that is not eligible for automatic execution, Grid creates anAgentAction in PENDING_APPROVAL status and fires an AGENT_ACTION.PENDING_APPROVAL webhook to your backend. The full action payload is included in the webhook body so you can render the approval UI and send a push notification to the customer without a second API call.
- Agent submits an action (quote execution or transfer).
- Grid creates an
AgentActionwithstatus: PENDING_APPROVALand returns it to the agent. - Grid fires
AGENT_ACTION.PENDING_APPROVALto your webhook endpoint with the full action payload. - Your backend sends a push notification to the customer.
- Your app shows the customer the requested amount, accounts, and reason.
- The customer approves or rejects from that trusted surface.
- Your backend calls
POST /agents/{agentId}/actions/{actionId}/approveor.../reject. - Grid executes the action and the
AgentActiontransitions toAPPROVED— orREJECTEDif declined.
Approval outcomes
An approved action is still subject to the latest account and policy state when Grid executes it. Between the original request and your approval decision:- The agent may have been paused
- The customer’s limits may have been reduced
- The permitted accounts may have changed
- Another action may have already consumed the available daily spend
- For
EXECUTE_QUOTEactions, the underlying quote may have expired
AgentAction fields
GET /agents/approvals returns a paginated list of AgentAction objects. Filter by agentId or customerId to scope results. Each record includes:
id— action identifier (e.g.AgentAction:...)agentId— the agent that submitted the actioncustomerId/platformCustomerId— the customer on whose behalf the agent actedstatus—PENDING_APPROVALwhile awaiting a decision; transitions toAPPROVED,REJECTED, orFAILEDtype—EXECUTE_QUOTE,TRANSFER_OUT, orTRANSFER_INquote— forEXECUTE_QUOTEactions, the full quote object including amounts, currencies, exchange rate, and destinationtransferDetails— forTRANSFER_OUT/TRANSFER_INactions, amount, currency, and source/destination account IDstransaction— populated after the action is approved and execution begins; absent while pending or rejectedrejectionReason— optional reason string set when your platform rejects the actioncreatedAt/updatedAt— timestamps for the action lifecycle
Approving and rejecting
Call these endpoints from your platform backend using your platform credentials (BasicAuth):
AgentAction. The agentId and actionId are available in the webhook payload.
Pause and revoke
Customers need immediate control over delegated access. Support at least two controls:- Pause — temporarily block new executions while preserving the agent configuration. Use
PATCH /agents/{agentId}withisPaused: true. - Revoke — permanently remove delegated access. Use
DELETE /agents/{agentId}.
What to show in the approval UI
Your approval UI should answer:- What is the agent trying to do?
- Which account is affected?
- How much value is moving, and in what currencies?
- Who or what is on the other side of the transaction?
- Why is approval required?
AgentAction payload delivered via webhook. If the user cannot answer those questions quickly, the approval surface is too opaque.
Integration guidance
- Subscribe to
AGENT_ACTION.PENDING_APPROVALwebhooks and send the customer a push notification immediately — quote-based actions expire quickly. - Use
GET /agents/approvalsto build an in-app approval queue as a fallback for users who miss the push notification. - Treat approval and rejection calls as idempotent in your integration so duplicate taps or retries do not cause confusing UX.
- Show
FAILEDandREJECTEDoutcomes clearly — they are distinct states with different meanings for the customer. - Make agent connection status, approval queue state, and action history easy to surface close to the customer’s account view.