> For the complete documentation index, see [llms.txt](https://docs.neox.vn/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.neox.vn/docs/global/global-collections/integration/virtual-accounts/get-detail-virtual-account.md).

# Get Detail Virtual Account

#### Endpoint: GET /v2/gc/virtual-accounts

#### Description: Retrieve the current status, assigned bank details, and supplement-material history of a virtual account application.

## Request

#### Request Params Field Descriptions

| Field Name | Type   | Required | Description                                                                                                                                                           |
| ---------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id         | string | Yes      | The virtual account's NeoX `id`, as returned by [Create Virtual Account](/docs/global/global-collections/integration/virtual-accounts/api-create-virtual-account.md). |

### Response

The response is narrowed to a fixed set of fields (not the full internal virtual-account record).

#### Response Field Descriptions

| Field Name    | Type   | Description                      |
| ------------- | ------ | -------------------------------- |
| code          | number | Response code.                   |
| data          | object | Virtual account detail.          |
| message       | string | Response message.                |
| neoResponseId | string | Unique NeoX response identifier. |

{% hint style="warning" %}
There is no `state` field in the response envelope.
{% endhint %}

#### `data` object fields:

| Field Name       | Type        | Description                                                                                                                                                                                                                                                                                           |
| ---------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id               | string      | The virtual account's NeoX identifier.                                                                                                                                                                                                                                                                |
| applyUse         | string      | Intended use, as submitted. See `applyUse` enumeration on [Create Virtual Account](/docs/global/global-collections/integration/virtual-accounts/api-create-virtual-account.md).                                                                                                                       |
| currency         | array       | Currencies associated with the virtual account, as an **array** of ISO 4217 codes (unlike the create request, which takes a comma-joined string).                                                                                                                                                     |
| remark           | string      | Free-text remark, as submitted.                                                                                                                                                                                                                                                                       |
| requestId        | string      | The merchant-supplied `requestId` from the original create request.                                                                                                                                                                                                                                   |
| status           | string      | Current application status. Real captured observed values: `INIT`, `APPROVED`. Other values (`PROCESSING`, `REJECTED`, etc.) are expected per the create-response status lifecycle but not independently confirmed here.                                                                              |
| subMerchantId    | string      | Sub-merchant identifier, if applicable.                                                                                                                                                                                                                                                               |
| vaRegCountry     | string      | Country/region of registration, as submitted.                                                                                                                                                                                                                                                         |
| applyBankCode    | string      | Preferred bank code, as submitted (relevant for `vaRegCountry=NGA`).                                                                                                                                                                                                                                  |
| expiredTime      | string      | Application expiry time, if set.                                                                                                                                                                                                                                                                      |
| payType          | string      | Accepted payment type, as submitted.                                                                                                                                                                                                                                                                  |
| shopType         | string      | Shop/platform type, as submitted.                                                                                                                                                                                                                                                                     |
| materialCode     | string      | Code indicating the type of supplementary material required. Non-empty when supplement material is still outstanding.                                                                                                                                                                                 |
| materialInfoJson | string      | JSON-encoded array string describing the specific fields that must be supplied — see [Create Virtual Account → `materialInfoJson` details](/docs/global/global-collections/integration/virtual-accounts/api-create-virtual-account.md#materialinfojson-details-returned-on-get-detail-not-on-create). |
| openedVaInfo     | object      | The assigned bank/account details, populated once the account is approved. See fields below. Absent/empty before approval.                                                                                                                                                                            |
| supplementData   | object      | Map of supplement-material submissions, keyed by each submission's own `requestId`. See fields below.                                                                                                                                                                                                 |
| createdAt        | date string | Timestamp when the application was created (ISO 8601).                                                                                                                                                                                                                                                |

#### `openedVaInfo` object fields:

| Field Name         | Type   | Description                                    |
| ------------------ | ------ | ---------------------------------------------- |
| vaNumber           | string | Assigned virtual account number.               |
| vaName             | string | Assigned virtual account name.                 |
| vaArea             | string | Geographic area/jurisdiction of the account.   |
| openBankCode       | string | Code of the bank where the account is held.    |
| openBankName       | string | Name of the bank where the account is held.    |
| openBankAddress    | string | Address of the bank where the account is held. |
| openBankSwiftCode  | string | SWIFT/BIC code of the bank.                    |
| openBankBranchCode | string | Branch code of the bank.                       |

The model also defines `localBankRouteNo` (local routing number, e.g. ABA/sort code) at this level — it wasn't present in the real captured sample below but is expected to appear where applicable (e.g. it does appear on the `VA_CREATION_RESULT` webhook — see [Webhook](/docs/global/global-collections/integration/virtual-accounts/webhook.md)).

#### `supplementData` object fields (per entry, keyed by the submission's `requestId`):

| Field Name   | Type        | Description                                                                 |
| ------------ | ----------- | --------------------------------------------------------------------------- |
| requestId    | string      | The supplement submission's own `requestId`.                                |
| materialInfo | object      | The submitted material key/value pairs (parsed, not the raw JSON string).   |
| submittedAt  | date string | When the material was submitted (ISO 8601).                                 |
| status       | string      | Review status of this submission. Real captured observed value: `APPROVED`. |
| approvedAt   | date string | When the material was approved (ISO 8601). Present once reviewed.           |
| materialId   | string      | Identifier of this material submission.                                     |

#### Response sample

Real captured example (an approved virtual account with one completed supplement submission):

```json
{
    "code": 1,
    "data": {
        "id": "ff2f112d687a4dc98ec33788c8e63b60",
        "applyUse": "B2B",
        "currency": ["USD", "EUR", "HKD", "CNH", "GBP", "CAD", "AUD", "JPY", "SGD"],
        "remark": "docs",
        "requestId": "1785407163122",
        "status": "APPROVED",
        "subMerchantId": "10000002",
        "vaRegCountry": "HKG",
        "openedVaInfo": {
            "vaNumber": "5408441793000005",
            "vaName": "VA AUTO MOCK IT SUPPORT",
            "vaArea": "USA",
            "openBankCode": "560678",
            "openBankName": "MOCK VIRTUAL BANK",
            "openBankAddress": "MOCK ADDRESS, FOR IT SUPPORT TEST ONLY",
            "openBankSwiftCode": "MOCKHKHH851",
            "openBankBranchCode": "009951"
        },
        "supplementData": {
            "1785407870418": {
                "requestId": "1785407870418",
                "materialInfo": {
                    "platformOrApplicationAccountRegisterName": "NGUYEN VAN A",
                    "platformOrApplicationUrl": "https://example.com"
                },
                "submittedAt": "2026-07-30T10:38:14.958Z",
                "status": "APPROVED",
                "approvedAt": "2026-07-30T10:47:27.673Z",
                "materialId": "01785408435640000001"
            }
        },
        "createdAt": "2026-07-30T10:26:03.319Z"
    },
    "message": "Successful",
    "neoResponseId": "7125f557-4ab5-487d-87cf-67898ee272b3"
}
```

### Notes

* Requires Bearer token in the Authorization header.
* The Accept-Language header can be used to specify the response language (Support: "vi", "en").
* No request body required.
* This same endpoint (`GET /v2/gc/virtual-accounts`) also underlies status polling — there is no separate "onboarding status" or "supplement material status" endpoint (see the notices on those deprecated pages).
* If `materialCode` is non-empty, call [Supplement Virtual Account Material](/docs/global/global-collections/integration/virtual-accounts/api-supplement-virtual-account-material.md) with the fields indicated by `materialInfoJson`.
