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

# List Virtual Account Applications

> Lists applications for the authenticated account, newest first. For a sub-account, pass its account ID in `x-on-behalf-of`.

`page_number` and `page_size` are required. Optional `status`, `country`, and `currency` filters are combined. No matches or a page beyond the available range returns HTTP `200` with an empty `data` array.

This endpoint returns application summaries, not issued bank details. See [Integrate Virtual Accounts with the API](/global-account/v1.6/guide/virtual-account-api-lifecycle) for the application and bank-detail query flow.




## OpenAPI

````yaml /global-account/v1.6/banking.yaml get /v1/virtual/applications
openapi: 3.0.2
info:
  title: Banking API
  version: 0.0.1
  description: >
    UQPAY Banking API provides comprehensive banking and payment solutions for
    global money movement.


    ## Key Features

    - International payments and transfers

    - Multi-currency account management

    - Real-time currency conversion

    - Virtual account services

    - Fund deposit and withdrawal


    ## Authentication

    Use API keys to authenticate your client requests when utilizing UQPAY APIs.

    API keys are unique data strings used to authenticate users and enable
    access to privileged operations.

    Your API key should be kept confidential and secure at all times.


    ## Service Components

    - **Payout**: Create and manage international fund transfers to
    beneficiaries

    - **Payer**: Manage entities making payments and authorizing fund transfers

    - **Beneficiary**: Handle recipient information and bank details

    - **Balance**: View and manage multi-currency account balances

    - **Deposit**: Process incoming fund transfers

    - **Virtual Accounts**: Utilize local bank accounts in foreign currencies

    - **Conversion**: Execute currency exchange at competitive rates


    ## Getting Started

    1. Obtain API credentials

    2. Set up test environment using sandbox URL

    3. Implement authentication

    4. Start with basic operations


    ## Support

    For technical support and integration assistance, contact UQPAY support
    team.
  contact:
    name: UQPAY Support
    url: https://www.uqpay.com/support
    email: banking.tech@uqpay.com
  license:
    name: Proprietary
    url: https://www.uqpay.com/legal/api-terms
  termsOfService: https://www.uqpay.com/legal/terms
  x-api-id: banking-api-v1.6.0
  x-logo:
    url: https://uqpay.com/img/UQPAY_LogoAnimv2.gif
    backgroundColor: '#FFFFFF'
    altText: UQPAY Logo
  x-categories:
    - Banking
    - Payment Processing
    - Foreign Exchange
servers:
  - url: https://api-sandbox.uqpaytech.com/api
    description: Sandbox base URL.
  - url: https://api.uqpay.com/api
    description: Production base URL.
security: []
tags:
  - name: Balances
    description: >-
      View and manage available funds across different currencies in your
      account.
  - name: Transfers
    description: >-
      A wallet transfer resource is used for sending funds directly from your
      UQPAY account to a connected account.
  - name: Deposits
    description: >-
      Deposits are bank transfers made into your UQPAY Global Accounts for
      adding funds or collecting funds from third parties.
  - name: Virtual Accounts
    description: >-
      Virtual Accounts function as local bank accounts in foreign currencies.
      They enable worldwide fund collection with account details that allow you
      to receive funds from various platforms. Virtual Accounts can also be used
      to top up your UQPAY balance.
  - name: Payout
    description: >-
      A Payout resource is created when you send funds to a beneficiary. It
      details the beneficiary, bank details, the amount being paid, its status,
      and other relevant information. You can create the payout using either
      direct beneficiary details or a previously created beneficiary ID.
  - name: Beneficiaries
    description: >-
      The beneficiary is the recipient of the funds and is typically the party
      who will ultimately benefit from the payout.
  - name: Conversion
    description: Manage currency conversions and exchange rates for your transactions.
  - name: Exchange Rates
    description: >-
      Retrieve real-time exchange rates for a specified currency pair or all
      available pairs.
  - name: Global Accounts
    description: >-
      ⚠️ WARNING This API version is deprecated. Eventually, a deprecated API
      version becomes unsupported. Global Accounts are foreign currency accounts
      that function as local bank accounts.
  - name: Simulator
    description: Simulate deposit transactions on the sandbox environment.
paths:
  /v1/virtual/applications:
    get:
      tags:
        - Virtual Accounts
      summary: List Virtual Account Applications
      description: >
        Lists applications for the authenticated account, newest first. For a
        sub-account, pass its account ID in `x-on-behalf-of`.


        `page_number` and `page_size` are required. Optional `status`,
        `country`, and `currency` filters are combined. No matches or a page
        beyond the available range returns HTTP `200` with an empty `data`
        array.


        This endpoint returns application summaries, not issued bank details.
        See [Integrate Virtual Accounts with the
        API](/global-account/v1.6/guide/virtual-account-api-lifecycle) for the
        application and bank-detail query flow.
      operationId: list-virtual-account-applications
      parameters:
        - $ref: '#/components/parameters/XOnBehalfOf'
        - $ref: '#/components/parameters/VirtualAccountApplicationPageNumber'
        - $ref: '#/components/parameters/VirtualAccountApplicationPageSize'
        - $ref: '#/components/parameters/VirtualAccountApplicationStatus'
        - $ref: '#/components/parameters/VirtualAccountApplicationCountry'
        - $ref: '#/components/parameters/VirtualAccountApplicationCurrency'
      responses:
        '200':
          description: OK - Virtual Account applications returned successfully.
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountApplicationListResponse'
                title: ListVirtualAccountApplicationsResponse
              examples:
                applications:
                  summary: Applications returned newest first
                  value:
                    total_pages: 1
                    total_items: 2
                    data:
                      - account_id: b1b89684-c2c4-4d54-b8a8-3572727fd120
                        application_id: 550e8400-e29b-41d4-a716-446655440011
                        country: BH
                        currency: GBP
                        direct_id: '0'
                        public_version: 2
                        status: COMPLETED
                        created_at: '2026-08-12T06:30:00Z'
                      - account_id: b1b89684-c2c4-4d54-b8a8-3572727fd120
                        application_id: 550e8400-e29b-41d4-a716-446655440012
                        country: BH
                        currency: EUR
                        direct_id: '0'
                        public_version: 1
                        status: SUBMITTED
                        created_at: '2026-08-12T05:59:00Z'
                emptyPage:
                  summary: No applications match or page is beyond the available range
                  value:
                    total_pages: 0
                    total_items: 0
                    data: []
        '400':
          description: >-
            Bad Request - One or more list parameters are missing or invalid.
            List validation and business error responses contain only `type`,
            `code`, and `message`.
          headers:
            x-response-id:
              $ref: '#/components/headers/XResponseId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualAccountApplicationErrorResponse'
                title: ListVirtualAccountApplicationsError
              examples:
                invalidPagination:
                  summary: Required pagination is missing or outside the allowed range
                  value:
                    type: invalid_request_error
                    code: invalid_parameter
                    message: >-
                      page_number and page_size are required and must be within
                      the allowed range
                invalidStatus:
                  summary: Unsupported application status filter
                  value:
                    type: invalid_request_error
                    code: invalid_parameter
                    message: >-
                      status must be SUBMITTED, PARTIALLY_COMPLETED, COMPLETED,
                      FAILED, or CLOSED
      security:
        - XAuthToken: []
components:
  parameters:
    XOnBehalfOf:
      in: header
      name: x-on-behalf-of
      schema:
        type: string
      required: false
      description: >
        Specifies the sub-account on whose behalf the request is made. This
        should be set to the `account_id`, which can be retrieved via the [List
        Connected
        Accounts](/account-center/v1.6/api-reference/list-connected-accounts-1).
        If omitted or empty, the request is executed using the master account.

        More information at [Connected
        Accounts](/account-center/v1.6/guide/connected-accounts).
      example: 18523f72-f4de-4f9c-bb8e-ec7d1c4f32be
    VirtualAccountApplicationPageNumber:
      name: page_number
      in: query
      required: true
      description: Page to return. The first page is `1`.
      schema:
        type: integer
        minimum: 1
        example: 1
    VirtualAccountApplicationPageSize:
      name: page_size
      in: query
      required: true
      description: Maximum number of applications to return, from `1` to `100`.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        example: 50
    VirtualAccountApplicationStatus:
      name: status
      in: query
      required: false
      description: >-
        Return only applications with this overall status. Surrounding
        whitespace is trimmed and lowercase input is accepted.
      schema:
        type: string
        enum:
          - SUBMITTED
          - PARTIALLY_COMPLETED
          - COMPLETED
          - FAILED
          - CLOSED
        example: SUBMITTED
    VirtualAccountApplicationCountry:
      name: country
      in: query
      required: false
      description: >-
        Return only applications for this ISO 3166-1 alpha-2 country code.
        Surrounding whitespace is trimmed and lowercase input is accepted.
      schema:
        type: string
        example: SG
    VirtualAccountApplicationCurrency:
      name: currency
      in: query
      required: false
      description: >-
        Return only applications for this ISO 4217 currency code. Surrounding
        whitespace is trimmed and lowercase input is accepted.
      schema:
        type: string
        example: USD
  headers:
    XResponseId:
      description: >-
        Universally unique identifier (UUID v4) for the response. Helpful for
        identifying a request when communicating with UQPAY support.
      schema:
        type: string
        format: uuid
        example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
  schemas:
    VirtualAccountApplicationListResponse:
      type: object
      additionalProperties: false
      required:
        - total_pages
        - total_items
        - data
      properties:
        total_pages:
          type: integer
          format: int64
          minimum: 0
          description: >-
            Number of available pages for the selected filters. `0` when no
            applications match.
          example: 1
        total_items:
          type: integer
          format: int64
          minimum: 0
          description: >-
            Total number of applications that match the selected filters, across
            all pages.
          example: 2
        data:
          type: array
          description: >-
            Applications on this page, ordered from newest to oldest. The array
            is empty when no applications match or the requested page is beyond
            the available range.
          items:
            $ref: '#/components/schemas/VirtualAccountApplicationSummary'
    VirtualAccountApplicationErrorResponse:
      type: object
      additionalProperties: false
      required:
        - type
        - code
        - message
      properties:
        type:
          type: string
          description: Broad error category for classification and logging.
          example: invalid_request_error
        code:
          type: string
          description: Stable error identifier to use in programmatic handling.
          example: invalid_parameter
        message:
          type: string
          description: >-
            Human-readable explanation for troubleshooting. Do not use this text
            as a programmatic identifier.
          example: country must be a valid ISO-2 code
    VirtualAccountApplicationSummary:
      type: object
      additionalProperties: false
      required:
        - account_id
        - application_id
        - country
        - currency
        - direct_id
        - public_version
        - created_at
        - status
      properties:
        account_id:
          type: string
          format: uuid
          description: >-
            Account that owns the application. When `x-on-behalf-of` was used,
            this is that connected account; otherwise it is the main account.
          example: b1b89684-c2c4-4d54-b8a8-3572727fd120
        application_id:
          type: string
          format: uuid
          description: Stable identifier to pass to Retrieve Virtual Account Application.
          example: 550e8400-e29b-41d4-a716-446655440011
        country:
          type: string
          description: Two-letter country code submitted for the application.
          example: BH
        currency:
          type: string
          description: Three-letter currency code submitted for the application.
          example: GBP
        direct_id:
          type: string
          description: >-
            Main-account relationship for `account_id`. It is `"0"` when
            `account_id` is the main account; otherwise it is the main account
            ID.
          example: '0'
        public_version:
          type: integer
          format: int64
          minimum: 1
          description: >-
            Latest version of the application visible in this list. Retrieve the
            application for its full current details.
          example: 2
        status:
          type: string
          enum:
            - SUBMITTED
            - PARTIALLY_COMPLETED
            - COMPLETED
            - FAILED
            - CLOSED
          description: >-
            Current overall application status. Retrieve the application before
            deciding which receiving methods or bank details are usable.
          example: COMPLETED
        created_at:
          type: string
          format: date-time
          description: Time the application was accepted, in ISO 8601 format.
          example: '2026-08-12T06:30:00Z'
  securitySchemes:
    XAuthToken:
      type: apiKey
      in: header
      name: x-auth-token
      description: The API token for login provided by UQPAY.

````