Issue Bank Account
Issues an NGN or USD deposit account for an approved account. The provider is chosen automatically based on currency and account type. NGN accounts are issued immediately. USD accounts require provider review: the first call submits the account’s application data to the provider and returns 202; call again after approval to collect the deposit account details.
accountData.
NGN accounts
NGN accounts are issued immediately.USD accounts
account.virtual_account.created. That is an internal name, not a product distinction.The only real distinction is primary vs additional, and it is visible on every account as the reference field: null on the primary, set on the ones you named. See Multiple USD deposit accounts below.202 Accepted; the deposit account is set up once the request is approved:
requestId identifies this request — quote it when asking us about a request that is taking longer than you expect.
Call the endpoint again once the account is approved — the response then includes the deposit account with accountNumber, routingNumber and swiftCode. While review is in progress, repeat calls keep returning 202 with the same requestId, so retrying is safe and never creates a second request.
Individual USD accounts
Individual accounts have no representatives. When the account was onboarded with its identity details via Update Individual Details (idDocument, address.line2, and a tax number from taxId / nin / bvn) —
plus the passport/ID from the completed Sumsub KYC — no extra payload is needed:
accountData.onboardingDetails to override a field that wasn’t
set on the account, e.g.:
Multiple USD deposit accounts
A client can hold more than one USD deposit account, each with its own account number. Pass areference — your own stable id for whatever you need to reconcile separately, such as a storefront, a branch, a marketplace or a channel:
reference and label are echoed back on List Bank Accounts and Get Funding Instructions, so you can hand the right details to the right source without keeping your own mapping.
The client’s primary account is the one issued without a reference, and it reports reference: null.
That field is the reliable way to tell the two apart, and it is returned on List Bank Accounts and Get Funding Instructions as well as at creation — so you can classify an account at any time rather than having to remember the order you created things in. A client can only ever hold one account with reference: null: a second call without a reference returns the existing account rather than opening another.
status: already_exists, so a retry, a duplicated job or a replayed request can never mint a second account for one source. There is no cap on how many references a client can have.Key Behaviours
accountData.representatives are merged into the prefilled representative with the same relatedPersonId, so you only send the fields you’re adding — names, addresses and ownership come from the application. Individual accounts use accountData.onboardingDetails instead (see above).reference returns the client’s existing account with status: already_exists (200) rather than creating another — safe to retry. A USD call with a reference behaves the same way per reference. NGN is one account per provider and returns 409 Conflict once one exists.Authorizations
Your Rolla API key
Path Parameters
Identifier of an account owned by the same user as your API key's business
Body
NGN, USD Optional overrides merged over the details prefilled from the account's application. The shape depends on the provider — call GET /accounts/{accountId}/bank-accounts/requirements to see the prefilled payload and what's missing. For USD, entries in representatives merge into the prefilled person matching the same relatedPersonId.
Your own stable id for whatever you need to reconcile separately — a storefront, a branch, a marketplace, a channel. Supplying it issues an additional deposit account under the same client, with its own account number, so incoming funds are attributable to that one reference. Omit it for the client's primary account.
Idempotent: the same reference always returns the same account, so a retry cannot create a duplicate. USD only, and only on providers that support more than one account per client.
1 - 100"store-amazon-uk"
Human-readable name stored alongside the account and echoed back on reads, e.g. "Amazon UK".
1 - 120"Amazon UK"