---
title: "Create Virtual Account"
method: POST
path: "/open-api/v3/business/account/{accountId}/bank-account"
tags: ["Account Onboarding"]
---

# Create Virtual Account

`POST /open-api/v3/business/account/{accountId}/bank-account`

## Request

- Base URL: `https://api-sandbox.interlace.money`
- URL: `https://api-sandbox.interlace.money/open-api/v3/business/account/{accountId}/bank-account`
- Auth: API key in header `x-access-token`

Creates and links a new Virtual Account (VA) to the business account.

## Path parameters

- `accountId` string, required

## Request body

- ApplyAccountBankAccountReqDTO
  - `nickname` string, required: nickname
  - `purpose` string: Purpose of Application
  - `balanceId` string: Balance Id. Required when the number of VAs exceeds the free limit.
  - `legalEntityId` string, required: Legal entity id

## Response `200`

success

- ApiResultApplyAccountBankAccountRespDTO
  - `code` string: Business code, 000000 means success
  - `message` string: Message description
  - `data` GlobalSubAccountDTO: data list
    - `id` string, required: Unique ID generated for the business account entity.
    - `accountId` string, required: The UUID of the Account.
    - `createTime` string, required: The timestamp.
    - `nickname` string, required: The nickname of the Business Account.
    - `purpose` string, required: The purpose of the Business Account.
    - `currency` string, required: Currency code.
    - `balanceId` string, required: The UUID of the Balance id.
    - `legalEntityId` string: Legal entity id
    - `bankAccounts` BankAccountDTO[]: The bank accounts.
      - `accountId` string, required: The UUID of the Account.
      - `createTime` string, required: The timestamp.
      - `accountName` string, required: The account holder's name.
      - `accountNo` string: The account number.
      - `currency` string, required: The currency.
      - `bankName` string, required: The bank Name.
      - `bankAddress` Address, required: The bank address.
        - `addressLine1` string, required: Primary address line (Street address / PO Box / Company name). English letters only, numbers and common symbols allowed.
        - `addressLine2` string: Secondary address line (Apartment / Suite / Unit / Building). English letters only, numbers and common symbols allowed.
        - `city` string, required: City. English letters and spaces only.
        - `state` string, required: **State / County / Province / Region**: Required for all countries. - For the US and Canada: must provide the subdivision using the two-letter code (e.g., WA for Washington State). - For other countries without a state/province, repeat the country name. - Allowed characters: English letters, numbers, and common symbols.
        - `country` string, required: Two-letter country code, as defined in ISO 3166-1 alpha-2. Example: US
        - `postalCode` string, required: Postal / ZIP code of the address.
      - `swift` string: The SWIFT/BIC
      - `routingNumber` string: The Routing number
      - `routingType` string, required: The Routing type
      - `branchName` string, required: The bank branch
      - `branchCode` string: The branch code
      - `status` string, required: Account status, possible values: ACTIVE (enabled), FROZEN (temporarily disabled), INACTIVE (permanently disabled)

## Other responses

- `400`: Bad Request

---

[API](https://skmtc.dev/interlace/apis/business-account.md) - [All operations](https://skmtc.dev/interlace/apis/business-account/llms.txt) - [OpenAPI document](https://skmtc.dev/interlace/apis/business-account/revisions/dd6b30aaac4f?raw)
