Environment variables
Test capability readiness
In sandbox, ACH, Wire, and SWIFT capabilities, both named and pooled, are served only at JPMorgan Chase (jpmorgan). Omit institutions when you request one of these capabilities and Swipelux selects jpmorgan. Naming any other bank returns 422 capability_institutions_unsupported. The supported-capabilities list in sandbox shows only jpmorgan for these methods. Production routing and other methods, such as RTP, Pix, and SPEI, are unchanged.
Request a sandbox bank capability
POST /v3/sandbox/customers/{customerId}/capabilities/{capabilityId}/status:
Set capability status
status and openTaskIds as the result your product must handle. A 200 response can still show open work, such as customer tasks or a pending review.
The helper returns 409 capability_status_blocked when the capability cannot reach the requested status for a reason you can’t clear in sandbox, such as approval_scope_review_required, an operational hold, or a terminal status. The problem’s statusReason carries the capability’s reason code and message, with retryable: false. Read the capability for the reason’s resolution.
Forcing a named capability to rejected a second time returns the same capability unchanged. Forcing a rejected capability to restricted or ready returns 422 invalid_capability. Create a fresh sandbox customer to test those statuses instead.
Test an open task
Create a sandbox task withPOST /v3/sandbox/tasks. Scope it to the resource whose workflow you are testing and use items to describe what the customer must submit. This guide shows capability and transfer workflows; API Reference defines the customer scope and the complete request schema.
Use an explanation item for a text response and a document item for an upload. New profile items also require profilePointer, a JSON Pointer naming the customer field. See Create sandbox task for the other item types and fields.
For the transfer example, first create a sandbox transfer through a pay-in or payout flow, then export its returned data.id:
Transfer ID
- Capability + explanation
- Transfer RFI + document
data.id as TASK_ID, data.revision as TASK_REVISION, and the current data.requirements[0].id as REQUIREMENT_ID. Match the answer to the item you created when you call POST /v3/customers/{customerId}/tasks/{taskId}/submissions:
- Explanation answer
- Document answer
POST /v3/sandbox/tasks/{taskId}/review:
Review submission
POST /v3/sandbox/tasks and the capability intake tasks that Swipelux collects. Reviewing a task that Operations or another workflow owns returns 409 task_not_sandbox_reviewable. That task stays readable through the task endpoints and waits for its owner to review it. 404 task_not_found means the task ID is unknown or belongs to another merchant.
Use Capabilities and tasks for the production task-completion pattern.
Fund a sandbox wallet
Credit an issued wallet withPOST /v3/sandbox/accounts/{accountId}/topup:
Top up issued wallet
data.id as TRANSFER_ID when you want to inspect the simulated funding transfer.
The topup id is a transfer id. Fetch it through GET /v3/transfers/{transferId} or list it through GET /v3/transfers to exercise your inbound-deposit code path against sandbox topups. The transfer projection is a completed inbound stablecoin deposit with origin: "inbound_deposit", method: "stablecoin_transfers", and direction: "stablecoin_move", and it is returned by the matching accountId, origin, method, and direction list filters.
Complete or fail a transfer
Set the outcome withPOST /v3/sandbox/transfers/{transferId}/state:
- Complete
- Fail