# Create a virtual account

`POST /service/@id/tinopay/bank-accounts/@bank/virtual-accounts` · TinoPay, service owner's sign-in token

VA number = the bank account's `first_va_number` + `va_number` (suffix A–Z, 0–9, up to 7 characters; lowercase is upper-cased). `account_name`: A–Z, 0–9 and spaces, up to 50 characters, no diacritics. Duplicate number: 409 `VA_NUMBER_EXISTS`; bank account without a VA prefix: 422 `VALIDATION_FAILED`.

## HTTP request

| Item | Value |
| --- | --- |
| URL | `https://api.tino.vn/service/@id/tinopay/bank-accounts/@bank/virtual-accounts` |
| Method | `POST` |
| Authentication | the TinoPay service owner's sign-in token (`Authorization: Bearer <token>`); the `/v1` gateway does not expose TinoPay yet |
| Content-Type | `application/json` |

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | int | yes | TinoPay service ID |
| `bank` | path | string | yes | Bank account ID (`id` in the bank account list) |
| `va_number` | body | string | yes | Phần đuôi, A–Z 0–9, tối đa 7 ký tự |
| `account_name` | body | string | yes | A–Z 0–9 và khoảng trắng, tối đa 50 ký tự, không dấu |

## Example request

```bash
curl -X POST "https://api.tino.vn/service/100001/tinopay/bank-accounts/9c1e6f2a-5b7d-4e1a-9f3c-2d8b6a4e0c11/virtual-accounts" \
  -H "Authorization: Bearer $TINO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "va_number": "QA01",
  "account_name": "CUA HANG A"
}'
```

`$TINO_TOKEN` is the TinoPay service owner's sign-in token. Path parameters in the example are sample values.

SDK ([SDK & examples](/en/docs/sdk)): no dedicated function yet, use `client.request("POST", "/service/@id/tinopay/bank-accounts/@bank/virtual-accounts")`.

## Example response

```json
{
 "data": {
  "id": 51,
  "bank_account_id": "9c1e6f2a-5b7d-4e1a-9f3c-2d8b6a4e0c11",
  "account_number": "9624QA01",
  "account_name": "CUA HANG A",
  "status": "active",
  "created_at": "2026-10-20T10:05:00+07:00"
 }
}
```

Sample built from the TinoPay API v1 documentation (Tino relays TinoPay data as is); values are examples.
