Compose Finance
Virtual accounts

Create customer virtual account

Creates a dedicated named virtual IBAN for the customer. For individual customers, address and identity information is automatically pulled from Sumsub KYC verification. The account creation is asynchronous. Corporate customer virtual accounts creation is not yet supported via API.

POST
/api/v2/customers/{customerId}/virtual-account

Creates a dedicated named virtual IBAN for the customer. For individual customers, address and identity information is automatically pulled from Sumsub KYC verification. The account creation is asynchronous. Corporate customer virtual accounts creation is not yet supported via API.

Authorization

bearerAuth
AuthorizationBearer <token>

Organization API key obtained from PropelAuth

In: header

Path Parameters

customerId*string

Unique identifier of the customer

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST 'https://compose.finance/api/v2/customers/{customerId}/virtual-account' \  -H 'Authorization: Bearer YOUR_API_KEY' \  -H 'Content-Type: application/json' \  -d '{"currency": "EUR"}'
{
  "customerId": "550e8400-e29b-41d4-a716-446655440001",
  "status": "PENDING",
  "virtualAccountId": "corr-12345-abcde",
  "message": "Virtual account creation initiated. IBAN will be provided via webhook once the provider processes the request."
}

{
  "error": "No virtual account provider configured for USD. Please contact support."
}

{
  "error": "Unauthorized - Invalid or missing API key or session"
}

{
  "error": "Virtual accounts feature is not enabled for your organization"
}

{
  "error": "Customer not found"
}
{
  "error": "Customer already has an active virtual account for this provider"
}
{
  "error": "Internal server error"
}