Partner Banking Docs
HomeStatus
  • Introduction
  • Getting Started
    • Partner Onboarding
    • Security
    • Authentication
    • Payload Signing
    • API Hosts
  • Concepts
    • API Connectivity Test
    • Accounts
      • Primary Accounts
      • Virtual Accounts
      • Getting Accounts
      • Balances Explained
    • Payments
      • Payment Simulation
      • Inbound Payments
      • Internal Payments
      • Counterparty Validation
      • Outbound Payments
      • Payment Details
        • Payment Details with ID
        • Payment Details with External Reference
    • Transactions
      • Activity Feed
    • Webhooks
      • Webhook Guidelines
      • Supported Events
      • Testing Webhooks
  • Full Specification
  • Return Home
Powered by GitBook
On this page

Was this helpful?

  1. Concepts
  2. Accounts

Virtual Accounts

PreviousPrimary AccountsNextGetting Accounts

Last updated 5 months ago

Was this helpful?

Virtual accounts requires an existing primary account as a parent, and it uses the same currency and safe-guarding relationship as the parent account.

You can create multiple virtual accounts linked with the same primary account, and move funds between:

  • Virtual account to virtual account

  • Virtual account to parent primary account

  • Parent primary account to virtual account

You need an existing Primary Account in order to create a virtual account

Create Virtual Account

  • Create Virtual Account
  • POSTCreate a virtual account

Create a virtual account

post
Header parameters
authorizationstringOptional

Authorization header containing your API Token

x-alg-noncestringOptional

Nonce used to generate the payload signature

x-alg-signaturestringOptional

Payload signature

datestringOptional

Date of the request un UTC/GMT

Body
customerIdstring · uuidRequired
idempotencyKeystring · uuidRequired

A unique idempotency key to prevent duplicate operations

parentAccountIdstring · uuidRequired

The parent account id for the account requested

productCodestringRequired

The product code for the account requested

Example: FIAT_ACCOUNT_UK_V1
Responses
200
Account successfully created
application/json
400
Input validation error
application/json
401
Unauthorized
application/json
403
Forbidden
application/json
post
POST /v1/partner/accounts/virtual HTTP/1.1
Host: api-url
Content-Type: application/json
Accept: */*
Content-Length: 201

{
  "customerId": "123e4567-e89b-12d3-a456-426614174000",
  "idempotencyKey": "123e4567-e89b-12d3-a456-426614174000",
  "parentAccountId": "123e4567-e89b-12d3-a456-426614174000",
  "productCode": "FIAT_ACCOUNT_UK_V1"
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "customerId": "123e4567-e89b-12d3-a456-426614174000",
  "partnerId": "123e4567-e89b-12d3-a456-426614174000",
  "primaryAccountId": "123e4567-e89b-12d3-a456-426614174000",
  "type": "PRIMARY",
  "currencyCode": "GBP",
  "createDate": "2025-05-19T14:20:30.634Z",
  "identifiers": [
    {
      "type": "UK_ACCOUNT",
      "beneficiary": "text",
      "bankAddress": "text",
      "data": {
        "type": "UK_ACCOUNT",
        "sortCode": "010102",
        "accountNumber": "12345678"
      }
    }
  ],
  "state": "INITIALIZING",
  "balance": {
    "currency": "GBP",
    "availableBalance": 1,
    "ledgerBalance": 1,
    "pendingCredits": 1
  }
}