Skip to main content
POST
Execute a quote

Authorizations

Authorization
string
header
required

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

Idempotency-Key
string

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.

Maximum string length: 255
Example:

"<uuid>"

Path Parameters

quoteId
string
required

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.

id
string
required

System-generated unique identifier for this action.

Example:

"AgentAction:019542f5-b3e7-1d02-0000-000000000099"

agentId
string
required

The agent that submitted this action.

Example:

"Agent:019542f5-b3e7-1d02-0000-000000000042"

customerId
string
required

The customer on whose behalf the action was submitted.

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000010"

platformCustomerId
string
required

Platform-specific ID of the customer.

Example:

"user-a1b2c3"

status
enum<string>
required

Status of an agent action.

Available options:
PENDING_APPROVAL,
APPROVED,
REJECTED,
FAILED
type
enum<string>
required

The type of action the agent is requesting.

Available options:
EXECUTE_QUOTE,
ISSUE_PURCHASE_CARD
expiresAt
string<date-time>
required

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.

Example:

"2025-10-03T15:05:00Z"

createdAt
string<date-time>
required

When the action was submitted by the agent.

Example:

"2025-10-03T15:00:00Z"

updatedAt
string<date-time>
required

When the action was last updated.

Example:

"2025-10-03T15:02:00Z"

quote
Agent Quote · object

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.

purchaseCard
Single-Use Card · object

The purchase card requested. Present for ISSUE_PURCHASE_CARD, so an approval decision can show its kind, amount or cap, and source account.

card
Agent Card · object

The issued purchase card, populated once an ISSUE_PURCHASE_CARD action has completed.

transaction
Incoming Transaction · object

The resulting transaction, populated once the action has been approved and execution has begun. Absent while the action is PENDING_APPROVAL or REJECTED.

rejectionReason
string

Human-readable reason provided by the platform when rejecting the action. Only present when status is REJECTED.

Example:

"Transaction amount exceeds customer's current risk limit."

failureReason
enum<string>

Machine-readable reason the action failed. Only present when status is FAILED; rejectionReason is used only for REJECTED actions.

Available options:
QUOTE_EXPIRED,
POLICY_DENIED,
AGENT_INACTIVE,
EXECUTION_FAILED,
CARD_ISSUANCE_FAILED,
APPROVAL_EXPIRED,
PRICE_MOVED