---
title: "List virtual accounts"
method: GET
path: "/api/virtual-account"
tags: ["Virtual Accounts"]
---

# List virtual accounts

`GET /api/virtual-account`

Returns the EUR and USD virtual accounts owned by the authenticated merchant. Each merchant can hold at most one virtual account per currency. When `X-On-Behalf-Of` is set, returns the virtual accounts of the targeted sub-merchant.

The response also exposes `usesFallbackCustomerId`, which is `true` when the merchant has not yet been provisioned with a dedicated underlying-provider customer; in that case no new virtual account can be created.

## Response `200`

Virtual accounts grouped by deposit currency

- VirtualAccountsListResponseDto
  - `eur` VirtualAccountResponseDto
    - `id` string, required — Unique identifier of the virtual account.
    - `depositCurrency` 'usd' | 'eur', required — Currency in which funds must be deposited to this virtual account.
    - `countryCode` string, required — ISO-3166 alpha-2 country code derived from the deposit instructions. For EUR accounts this is taken from the IBAN prefix; USD accounts default to `US`.
    - `iban` string, nullable — IBAN of the virtual account. Only set for EUR virtual accounts.
    - `bic` string, nullable — BIC of the virtual account. Only set for EUR virtual accounts.
    - `accountNumber` string, nullable — Bank account number of the virtual account. Only set for USD virtual accounts.
    - `routingNumber` string, nullable — Bank routing number of the virtual account. Only set for USD virtual accounts.
    - `accountOwnerName` string, nullable — Name of the account owner / beneficiary.
    - `bankName` string, nullable — Name of the bank holding the virtual account.
    - `bankAddress` string, nullable — Address of the bank holding the virtual account.
    - `beneficiaryAddress` string, nullable — Address of the beneficiary. Only set for USD virtual accounts.
    - `externalId` string, required — Identifier of the virtual account at the underlying provider.
    - `userId` string, required — Identifier of the merchant owning this virtual account.
    - `createdAt` string, date-time, required — Date the virtual account was created.
    - `updatedAt` string, date-time, required — Date the virtual account was last updated.
  - `usd` VirtualAccountResponseDto
    - `id` string, required — Unique identifier of the virtual account.
    - `depositCurrency` 'usd' | 'eur', required — Currency in which funds must be deposited to this virtual account.
    - `countryCode` string, required — ISO-3166 alpha-2 country code derived from the deposit instructions. For EUR accounts this is taken from the IBAN prefix; USD accounts default to `US`.
    - `iban` string, nullable — IBAN of the virtual account. Only set for EUR virtual accounts.
    - `bic` string, nullable — BIC of the virtual account. Only set for EUR virtual accounts.
    - `accountNumber` string, nullable — Bank account number of the virtual account. Only set for USD virtual accounts.
    - `routingNumber` string, nullable — Bank routing number of the virtual account. Only set for USD virtual accounts.
    - `accountOwnerName` string, nullable — Name of the account owner / beneficiary.
    - `bankName` string, nullable — Name of the bank holding the virtual account.
    - `bankAddress` string, nullable — Address of the bank holding the virtual account.
    - `beneficiaryAddress` string, nullable — Address of the beneficiary. Only set for USD virtual accounts.
    - `externalId` string, required — Identifier of the virtual account at the underlying provider.
    - `userId` string, required — Identifier of the merchant owning this virtual account.
    - `createdAt` string, date-time, required — Date the virtual account was created.
    - `updatedAt` string, date-time, required — Date the virtual account was last updated.
  - `usesFallbackCustomerId` boolean, required — True when the merchant is currently using Inflow's fallback Bridge customer ID. Such merchants cannot create new virtual accounts until a dedicated customer is provisioned.

## Other responses

- `401` — Unauthorized - Invalid API key
- `404` — Merchant not found

---

[API](https://skmtc.dev/inflowpay/apis/inflow-api.md) · [All operations](https://skmtc.dev/inflowpay/apis/inflow-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/inflowpay/inflow-api/revisions/3012dd3dd14a/schema)
