> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rolla.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# List Customer Virtual Accounts

> Lists the permanent per-end-user virtual accounts for your business. Optionally filter by customer_identifier.

List the permanent per-end-user virtual accounts you've created for your business. Optionally filter to a single user with `customer_identifier`.

## Example Request

```bash theme={null}
curl -X GET "https://api.rolla.xyz/api/v1/external/wallet/virtual-accounts/customers?customer_identifier=user-12345" \
  -H "X-API-Key: your_api_key_here"
```

## Query Parameters

| Parameter             | Type   | Description                                              |
| --------------------- | ------ | -------------------------------------------------------- |
| `customer_identifier` | string | Filter to a single end-user's account. Omit to list all. |

## Example Response

```json theme={null}
{
  "status": 200,
  "success": true,
  "message": "Customer virtual accounts retrieved successfully",
  "data": {
    "virtualAccounts": [
      {
        "id": "9632c120-3c98-4a1c-baf2-47c17a079802",
        "customer_identifier": "user-12345",
        "first_name": "Tosin",
        "last_name": "Kalejaiye",
        "email": "tosin@example.com",
        "phone": "08012345678",
        "bvn_last4": "2222",
        "currency": "NGN",
        "bank_name": "GTBank",
        "bank_code": "058",
        "account_number": "4382272943",
        "account_name": "Tosin Kalejaiye",
        "status": "active",
        "created_at": "2026-07-10T10:02:11.942Z"
      }
    ]
  }
}
```

<Note>
  This endpoint returns end-user PII. The raw BVN is never included — only `bvn_last4`. If your API key has an IP allowlist configured, it applies here as it does to every endpoint.
</Note>


## OpenAPI

````yaml GET /wallet/virtual-accounts/customers
openapi: 3.1.0
info:
  title: Rolla Developer API
  description: >-
    API for programmatic transaction management on the Rolla platform. Monetary
    `amount` fields use the smallest unit of the referenced currency unless an
    endpoint says otherwise (e.g. NGN = kobo, USD = cents, where **100 cents =
    USD 1.00**).
  version: 1.0.0
servers:
  - url: https://api.rolla.xyz/api/v1/external
    description: Production server
security:
  - apiKeyAuth: []
paths:
  /wallet/virtual-accounts/customers:
    get:
      summary: List Customer Virtual Accounts
      description: >-
        Lists the permanent per-end-user virtual accounts for your business.
        Optionally filter by customer_identifier.
      operationId: getCustomerVirtualAccounts
      parameters:
        - name: customer_identifier
          in: query
          description: Filter to a single end-user's account.
          schema:
            type: string
      responses:
        '200':
          description: Customer virtual accounts retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  message:
                    type: string
                    example: Customer virtual accounts retrieved successfully
                  data:
                    type: object
                    properties:
                      virtualAccounts:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              format: uuid
                            customer_identifier:
                              type: string
                              example: user-12345
                            first_name:
                              type: string
                              example: Tosin
                            last_name:
                              type: string
                              example: Kalejaiye
                            email:
                              type: string
                              example: tosin@example.com
                            phone:
                              type: string
                              example: '08012345678'
                            bvn_last4:
                              type: string
                              example: '2222'
                              description: >-
                                Last 4 digits of the BVN. The full BVN is never
                                returned.
                            currency:
                              type: string
                              example: NGN
                            bank_name:
                              type: string
                              example: GTBank
                            bank_code:
                              type: string
                              example: '058'
                            account_number:
                              type: string
                              example: '4382272943'
                            account_name:
                              type: string
                              example: Tosin Kalejaiye
                            status:
                              type: string
                              example: active
                            created_at:
                              type: string
                              format: date-time
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        success:
          type: boolean
          example: false
        message:
          type: string
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your Rolla API key

````