Skip to main content
GET
Get virtual account onboarding status for a user
Returns everything you need to decide whether to request a named virtual account for a user: whether they already have one, whether a request would be accepted right now, the state of their latest onboarding, and whether their KYB is still outstanding. See the Virtual Accounts guide for the full flow. Currently available for the United States (US) only. country is required — any other value is rejected with 400. This endpoint is read-only and safe to poll while an onboarding is in flight.

Reading the Response

Status Values

status: "COMPLETED" and hasVirtualAccount: true are related but not identical. status reflects the onboarding record; hasVirtualAccount reflects whether an active account actually exists for the user today. Gate your UI on canRequest, and fetch the account details once hasVirtualAccount is true.

Polling

There is no webhook for virtual account onboarding. After a SUBMITTED response, poll this endpoint until status is COMPLETED or FAILED. Provider approval typically takes minutes to hours, so poll every few minutes rather than every few seconds.

Error Codes

Common Errors

User Ownership Errors

Endpoint-Specific Errors

Authorizations

partner-api-key
string
header
required

API key for the affiliated partner performing the request.

Path Parameters

userId
string
required

The ID of the user to check. Must belong to the authenticated partner.

Example:

"8374f327-38bd-4b0b-b8a7-2524599eb903"

Query Parameters

country
enum<string>
required

The country whose banking onboarding to check. Only US is currently supported.

Available options:
US
Example:

"US"

Response

Current onboarding eligibility and status for the user in the given country.

success
boolean
Example:

true

data
object