POST /api/v2/agent/providers/invoke
Invoke an approved provider operation
Available
- Authentication:
- Organization-bound API key
- Idempotency-Key:
- optional
Request body fields| Field | Required | Type |
|---|
| providerSlug | Yes | string |
|---|
| selectionReceiptId | No | string |
|---|
| approvalRequestId | No | string |
|---|
| category | Yes | string |
|---|
| operation | Yes | string |
|---|
| input | No | any JSON |
|---|
| regime | No | object |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, INVALID_INPUT, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 404:
NOT_FOUND - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR, SERVER_MISCONFIGURED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/payments/bank-transfer
Initiate a bank transfer
Sandbox only: simulated
Resolves through a sandbox simulator when no reviewed provider connection serves the request; simulated responses are not provider results.
- Authentication:
- Organization-bound API key
- Requires:
payments:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| amount | Yes | string |
|---|
| currency | Yes | string |
|---|
| source | Yes | object |
|---|
| destination | Yes | object |
|---|
| rail | No | string |
|---|
| purposeCode | No | string |
|---|
| reference | No | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| senderJurisdiction | Yes | string |
|---|
| receiverJurisdiction | Yes | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, STORAGE_UNAVAILABLE
POST /api/v2/agent/payments/bank-transfer/status
Fetch bank transfer status
Sandbox only: simulated
Resolves through a sandbox simulator when no reviewed provider connection serves the request; simulated responses are not provider results.
- Authentication:
- Organization-bound API key
- Requires:
payments:write- Idempotency-Key:
- optional
Request body fields| Field | Required | Type |
|---|
| transferId | Yes | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| senderJurisdiction | Yes | string |
|---|
| receiverJurisdiction | Yes | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/payments/bank-transfer/cancel
Cancel a bank transfer
Sandbox only: simulated
Resolves through a sandbox simulator when no reviewed provider connection serves the request; simulated responses are not provider results.
- Authentication:
- Organization-bound API key
- Requires:
payments:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| transferId | Yes | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| senderJurisdiction | Yes | string |
|---|
| receiverJurisdiction | Yes | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, STORAGE_UNAVAILABLE
POST /api/v2/agent/custody/wallets
Create a custody wallet
Sandbox only: simulated
Custody fails closed with 424 when no reviewed provider connection serves the request. A simulator runs only when explicitly connected. A custody write requires an approved provider-operation approval.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- required
Request body: Required.
Match at least one request shape.
custody_wallet_create: Request shape 1| Field | Required | Type |
|---|
| label | Yes | string |
|---|
| chain | Yes | string |
|---|
| type | Yes | string |
|---|
| policy | No | any JSON |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| organizationId | No | string |
|---|
custody_wallet_create: Request shape 2| Field | Required | Type |
|---|
| custodyWalletId | Yes | string |
|---|
| approvalRequestId | Yes | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
CUSTODY_STATE_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, SOURCE_NOT_AVAILABLE
POST /api/v2/agent/custody/wallets/balance
Fetch custody wallet balances
Sandbox only: simulated
Custody fails closed with 424 when no reviewed provider connection serves the request. A simulator runs only when explicitly connected. A custody write requires an approved provider-operation approval.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- optional
Request body fields| Field | Required | Type |
|---|
| walletId | Yes | string |
|---|
| asset | No | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/custody/transfers
Initiate a custody transfer
Sandbox only: simulated
Custody fails closed with 424 when no reviewed provider connection serves the request. A simulator runs only when explicitly connected. A custody write requires an approved provider-operation approval.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- required
Request body: Required.
Match at least one request shape.
custody_transfer_initiate: Request shape 1| Field | Required | Type |
|---|
| walletId | Yes | string |
|---|
| destination | Yes | string |
|---|
| asset | Yes | string |
|---|
| amountMinor | Yes | string |
|---|
| amount | No | any JSON |
|---|
| note | No | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| senderJurisdiction | No | string |
|---|
| receiverJurisdiction | No | string |
|---|
| organizationId | No | string |
|---|
custody_transfer_initiate: Request shape 2| Field | Required | Type |
|---|
| custodyTransferId | Yes | string |
|---|
| approvalRequestId | Yes | string |
|---|
| organizationId | No | string |
|---|
custody_transfer_initiate: Request shape 3| Field | Required | Type |
|---|
| custodyTransferId | Yes | string |
|---|
| expectedVersion | Yes | integer |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
CUSTODY_STATE_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, SOURCE_NOT_AVAILABLE
POST /api/v2/agent/custody/transfers/status
Fetch custody transfer status
Sandbox only: simulated
Custody fails closed with 424 when no reviewed provider connection serves the request. A simulator runs only when explicitly connected. A custody write requires an approved provider-operation approval.
- Authentication:
- Organization-bound API key
- Requires:
wallets:read- Idempotency-Key:
- optional
Request body: Required.
Match at least one request shape.
custody_transfer_status: Request shape 1| Field | Required | Type |
|---|
| custodyTransferId | Yes | string |
|---|
| organizationId | No | string |
|---|
custody_transfer_status: Request shape 2| Field | Required | Type |
|---|
| transferId | Yes | string |
|---|
| jurisdiction | No | array |
|---|
| operatorJurisdiction | No | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
CUSTODY_STATE_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, SOURCE_NOT_AVAILABLE
POST /api/v2/agent/payments/corridor/simulate
Simulate a corridor flow
Sandbox only: simulated
A rehearsal surface: steps without a reviewed provider connection use simulators or local fallbacks.
- Authentication:
- Organization-bound API key
- Requires:
payments:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| person | Yes | object |
|---|
| source | Yes | object |
|---|
| destination | Yes | object |
|---|
| amount | Yes | string |
|---|
| currency | Yes | string |
|---|
| custody | Yes | object |
|---|
| destinationAddress | No | string |
|---|
| rail | No | string |
|---|
| reference | No | string |
|---|
| jurisdiction | No | array |
|---|
| senderJurisdiction | Yes | string |
|---|
| receiverJurisdiction | Yes | string |
|---|
| organizationId | No | string |
|---|
| executionMode | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, STORAGE_UNAVAILABLE
GET /api/v2/agent/payments/corridor/workflows/{workflowRunId}
Fetch corridor workflow status
Available
- Authentication:
- Organization-bound API key
- Requires:
payments:read- Idempotency-Key:
- none
Error codes
- 400:
INVALID_INPUT, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 404:
NOT_FOUND - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 503:
RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/payments/corridor/workflows/dispatch
Dispatch queued corridor workflows
AvailableScheduler only
- Authentication:
- Scheduler secret
- Idempotency-Key:
- none
Error codes
- 401:
See the operation response - 500:
See the operation response
POST /api/v2/agent/treasury/mint
Request an issuer mint
Sandbox only: simulated
Creates a sandbox issuance request for approval by a second person in the workspace. No transaction is prepared or sent.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| issuerId | Yes | string |
|---|
| amountMinor | Yes | string |
|---|
| signerAddress | Yes | string |
|---|
| reason | No | string |
|---|
| organizationId | No | string |
|---|
| to | Yes | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
CHAIN_CAPABILITY_DISABLED, FORBIDDEN - 404:
NOT_FOUND - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED, PRECHECK_FAILED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, STORAGE_UNAVAILABLE
POST /api/v2/agent/treasury/burn
Request an issuer burn
Sandbox only: simulated
Creates a sandbox issuance request for approval by a second person in the workspace. No transaction is prepared or sent.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| issuerId | Yes | string |
|---|
| amountMinor | Yes | string |
|---|
| signerAddress | Yes | string |
|---|
| reason | No | string |
|---|
| organizationId | No | string |
|---|
| from | Yes | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
CHAIN_CAPABILITY_DISABLED, FORBIDDEN - 404:
NOT_FOUND - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED, PRECHECK_FAILED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE, STORAGE_UNAVAILABLE
POST /api/v2/agent/treasury/status
Get treasury status
Available
Total supply is read on-chain. Circulating supply, reserve ratio and peg price come from a connected source; without one they are null with a reason (source_not_connected), never estimated.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- optional
Request body fields| Field | Required | Type |
|---|
| contractAddress | Yes | string |
|---|
| chain | No | string |
|---|
| asset | No | string |
|---|
| organizationId | No | string |
|---|
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/treasury/stress-test
Run treasury stress scenario
Available
Total supply is read on-chain. The reserve ratio is scenario.reserveRatio when supplied, otherwise the ratio a connected reserve source (token_issuance connection) reports; with neither the endpoint answers 424 RESERVE_SOURCE_NOT_CONNECTED and never estimates one. inputs.reserveRatioSource names the source, and simulated is true only when a sandbox simulator supplied the ratio. Peg price is not used.
- Authentication:
- Organization-bound API key
- Requires:
wallets:write- Idempotency-Key:
- optional
Request body fields| Field | Required | Type |
|---|
| contractAddress | Yes | string |
|---|
| chain | No | string |
|---|
| asset | No | string |
|---|
| organizationId | No | string |
|---|
| scenario | Yes | object |
|---|
Error codes
- 400:
UNSUPPORTED_CHAIN, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
CHAIN_CAPABILITY_DISABLED, FORBIDDEN - 409:
IDEMPOTENCY_IN_PROGRESS - 422:
IDEMPOTENCY_KEY_REUSED, PRECHECK_FAILED - 424:
RESERVE_SOURCE_NOT_CONNECTED - 429:
RATE_LIMIT_EXCEEDED - 500:
INTERNAL_ERROR - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/programmes
Create a card programme
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| name | Yes | string |
|---|
| network | Yes | string |
|---|
| binSponsor | Yes | string |
|---|
| jurisdictions | Yes | array |
|---|
| fundingAsset | Yes | string |
|---|
| fundingModel | Yes | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/issue
Issue a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| programmeId | Yes | string |
|---|
| cardholderId | No | string |
|---|
| cardholder | No | object |
|---|
| limits | No | object |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
GET /api/v2/agent/cards/{cardId}
Get a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:read- Idempotency-Key:
- none
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT - 422:
CARD_REQUEST_REJECTED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
RATE_LIMIT_UNAVAILABLE
GET /api/v2/agent/cards/{cardId}/transactions
List card transactions
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:read- Idempotency-Key:
- none
Error codes
- 400:
VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT - 422:
CARD_REQUEST_REJECTED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/{cardId}/fund
Fund a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| amount | Yes | string |
|---|
| asset | Yes | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_LEDGER_CONFLICT, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_LEDGER_WRITE_FAILED, CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/{cardId}/freeze
Freeze a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| reason | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/{cardId}/unfreeze
Unfreeze a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| reason | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/{cardId}/deactivate
Deactivate a card
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| reason | No | string |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE
POST /api/v2/agent/cards/{cardId}/limits
Set card limits
Sandbox only: simulated
The card issuing simulator is the only card_issuance adapter. Responses carry simulated: true; in production without a reviewed card issuer connection the endpoint answers 424 PROVIDER_NOT_CONNECTED. Requires an organization-bound key.
- Authentication:
- Organization-bound API key
- Requires:
cards:write- Idempotency-Key:
- required
Request body fields| Field | Required | Type |
|---|
| limits | Yes | object |
|---|
Error codes
- 400:
IDEMPOTENCY_KEY_REQUIRED, VALIDATION_ERROR - 401:
UNAUTHORIZED - 403:
COMPLIANCE_BLOCKED, FORBIDDEN, PROVIDER_AUTHORIZATION_DENIED - 404:
NOT_FOUND - 409:
CARD_INSUFFICIENT_FUNDS, CARD_RECORD_CONFLICT, IDEMPOTENCY_IN_PROGRESS - 422:
CARD_REQUEST_REJECTED, IDEMPOTENCY_KEY_REUSED - 424:
PROVIDER_NOT_CONNECTED - 429:
PROVIDER_RATE_LIMITED, RATE_LIMIT_EXCEEDED - 500:
CARD_RECORD_WRITE_FAILED, INTERNAL_ERROR - 501:
CARD_OPERATION_NOT_SUPPORTED - 502:
PROVIDER_EXECUTION_FAILED - 503:
IDEMPOTENCY_UNAVAILABLE, RATE_LIMIT_UNAVAILABLE