Execute a quote
Execute a quote created by the authenticated agent. Requires the EXECUTE_QUOTES permission in the agent’s policy. When the source is an EMBEDDED_WALLET, Grid signs with the agent’s active delegated key for that wallet.
If the agent’s policy requires approval for this amount (based on execution mode or approval thresholds), the transaction will be created in a pending state and must be approved by the platform via POST /agents/{agentId}/actions/{actionId}/approve. The action expires when its quote expires. Approval after expiry fails the action; Grid does not create a replacement quote.
Once executed, the quote cannot be cancelled.
Authorizations
Bearer token authentication for agent-scoped endpoints. The token is the accessToken returned when redeeming a device code via POST /agents/device-codes/redeem. Agent credentials are user-scoped: all requests are automatically bound to the agent's associated customer and subject to the agent's policy.
Headers
A unique identifier for the request. If the same key is sent multiple times, the server will return the same response as the first request.
255"<uuid>"
Path Parameters
The unique identifier of the quote to execute
Response
Action submitted successfully. If the agent's policy requires approval, the returned AgentAction will have status PENDING_APPROVAL and no transaction yet. If the policy permits automatic execution, status will be APPROVED and transaction will be populated. Note: if approval is required, the underlying quote may expire before the platform approves — in that case the action will transition to FAILED.
An action submitted by an agent that may require platform approval before execution. All agent-initiated operations (quote execution, transfers) are represented as AgentActions, giving the platform a consistent object to approve, reject, and audit regardless of the underlying operation type.
System-generated unique identifier for this action.
"AgentAction:019542f5-b3e7-1d02-0000-000000000099"
The agent that submitted this action.
"Agent:019542f5-b3e7-1d02-0000-000000000042"
The customer on whose behalf the action was submitted.
"Customer:019542f5-b3e7-1d02-0000-000000000010"
Platform-specific ID of the customer.
"user-a1b2c3"
Status of an agent action.
PENDING_APPROVAL, APPROVED, REJECTED, FAILED The type of action the agent is requesting.
EXECUTE_QUOTE, ISSUE_PURCHASE_CARD When the action expires. For EXECUTE_QUOTE, this is the quote's own expiry. A PENDING_APPROVAL action that reaches this time transitions to FAILED with failureReason QUOTE_EXPIRED; approval never creates a replacement quote. An ISSUE_PURCHASE_CARD action expires five minutes after it is submitted and then fails with APPROVAL_EXPIRED.
"2025-10-03T15:05:00Z"
When the action was submitted by the agent.
"2025-10-03T15:00:00Z"
When the action was last updated.
"2025-10-03T15:02:00Z"
The quote being executed. Contains the full amount, currency, destination, and rate details needed to present an approval decision to the user. Present for EXECUTE_QUOTE.
The purchase card requested. Present for ISSUE_PURCHASE_CARD, so an approval decision can show its kind, amount or cap, and source account.
- Single-Use Card
- Merchant-Locked Card
The issued purchase card, populated once an ISSUE_PURCHASE_CARD action has completed.
The resulting transaction, populated once the action has been approved and execution has begun. Absent while the action is PENDING_APPROVAL or REJECTED.
- Incoming Transaction
- Outgoing Transaction
- Card Transaction
Human-readable reason provided by the platform when rejecting the action. Only present when status is REJECTED.
"Transaction amount exceeds customer's current risk limit."
Machine-readable reason the action failed. Only present when status is FAILED; rejectionReason is used only for REJECTED actions.
QUOTE_EXPIRED, POLICY_DENIED, AGENT_INACTIVE, EXECUTION_FAILED, CARD_ISSUANCE_FAILED, APPROVAL_EXPIRED, PRICE_MOVED