Skip to main content
The customer must already be onboarded and active before you add a feature. You get customerId from the application.approved webhook — see Onboard a Customer and The Onboarding Lifecycle. Calling features before the customer is active returns CUSTOMER_NOT_ONBOARDED.
Test this flow in sandbox. Drive it end-to-end with simulated money and deterministic controls — start with the sandbox quickstart, then deposit simulation for this flow, and the cheat sheet for every magic value and simulate endpoint.

Flow

Add Virtual Accounts by submitting a feature application against an existing customer. The integration:
  1. Discover the customer’s feature requirements.
  2. Submit a virtual_account feature application.
  3. Listen for application.approved or application.rejected webhooks (with applicationType: "virtual_account").
  4. Listen for virtual_account.activated.
  5. Fetch the customer’s Virtual Accounts and read balances[] plus depositInstructions[].

Request The Feature

Discover any extra requirements for the customer:
Like the onboarding flow, the discovery response lists any required fields and documents. When present, collect them and include them in the submit body below. When the response asks for nothing extra, submit with just type and asset. Submit the Virtual Account feature application for the target asset. Idempotency-Key is required — without it the call returns IDEMPOTENCY_KEY_REQUIRED.
The endpoint returns 202 Accepted with a Virtual Account feature application carrying its own application id. Track it through the application.approved and application.rejected webhooks with applicationType: "virtual_account".

Listen For Activation

Once the feature application is approved, listen for virtual_account.activated to know the Virtual Account is usable. Deposit instructions populate once the Virtual Account’s status is active. See Webhooks and Virtual Accounts.

Retrieve Deposit Instructions

After activation, fetch the Virtual Accounts for the customer:
The response contains VA-level balances and deposit instructions. It does not include provider bank accounts.
Retrieve one Virtual Account when you have its id: