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

# Filter virtual accounts

> You can use this endpoint to filter your virtual accounts.



## OpenAPI

````yaml post /v1/accounts/virtual/list
openapi: 3.0.1
info:
  description: ''
  title: Vendor API
  version: 1.0.0
servers:
  - description: Production
    url: https://api.nomba.com
  - description: Sandbox
    url: https://sandbox.nomba.com
security: []
tags:
  - name: Authenticate
  - name: Accounts
  - name: Virtual Accounts
  - name: Online Checkout
  - name: Charge
  - name: Transfers
  - name: Direct Debits
  - name: Terminals
  - name: Transactions
  - name: Airtime and Data Vending
  - name: Electricity Vending
  - name: CableTV Subscription
  - name: Betting Vending
paths:
  /v1/accounts/virtual/list:
    post:
      tags:
        - Virtual Accounts
      summary: Filter virtual accounts
      description: You can use this endpoint to filter your virtual accounts.
      operationId: Filter virtual accounts
      parameters:
        - description: The parent accountId of the business.
          in: header
          name: accountId
          schema:
            type: string
            format: uuid
            example: 890022ce-bae0-45c1-9b9d-ee7872e6ca27
          required: true
        - description: >-
            This endpoint is paginated. `limit` describes the size of the page
            you are querying
          example: 10
          in: query
          name: limit
          schema:
            type: integer
            format: int32
          required: false
        - description: >-
            The `cursor` is used to scroll to the next page. When making the
            first call to list all accounts, there is no need to pass in any
            cursor since the API has not returned any cursor back to you. Only
            use cursor when the API provides it
          example: xchbaVFsjdsbaADddd
          in: query
          name: cursor
          schema:
            type: string
          required: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilterVirtualAccountRequest'
        description: The request payload required to filter virtual accounts.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: '00'
                    description: Response Code
                  description:
                    type: string
                    example: Success
                    description: Response description
                  data:
                    $ref: '#/components/schemas/VirtualAccountListResults'
                required:
                  - code
                  - description
                  - data
          description: OK - your request was successful.
          headers:
            X-Rate-Limit-Limit:
              description: The number of allowed requests in the current period
              schema:
                type: string
                example: '40'
            X-Rate-Limit-Remaining:
              description: The number of remaining requests in the current period
              schema:
                type: string
                example: '39'
            X-Rate-Limit-Window:
              description: The specified rate limit window
              schema:
                type: string
                example: 1s
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequestError'
          description: The request body sent by merchant did not pass the validation checks
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthenticationError'
          description: >-
            The access_token provided to access the resource is missing or
            invalid.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthorizationError'
          description: The client does not have the permissions to access this resource
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordNotFoundError'
          description: The record that the client is trying to access does not exist.
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
          description: >-
            The client has maxed out the number of calls within a time period on
            this resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerError'
          description: Downstream system error.
      security:
        - BearerAuth: []
components:
  schemas:
    FilterVirtualAccountRequest:
      type: object
      properties:
        accountName:
          type: string
          description: Account holder's name
          minLength: 8
          maxLength: 64
          example: Daniel Scorsese
        accountRef:
          type: string
          description: Account reference
          minLength: 16
          maxLength: 64
          example: 1oWbJQQHLyQqqf1SwxjSpudeA21
        bvn:
          type: string
          description: Bank Verification Number (BVN)
          minLength: 11
          maxLength: 11
          example: '12234412345'
        bankAccountNumber:
          type: string
          description: Bank account number
          example: '9391076543'
        dateCreatedFrom:
          type: string
          format: date-time
          description: Date created from
          example: '2023-08-30T14:56:59.000Z'
        dateCreatedTo:
          type: string
          format: date-time
          description: Date created to
          example: '2024-08-30T14:56:59.000Z'
        expired:
          type: boolean
          description: Whether the virtual account is expired or not
          example: false
        resourceAcquired:
          type: boolean
          description: Whether the virtual account is in use or not
          example: false
    VirtualAccountListResults:
      type: object
      properties:
        results:
          type: array
          description: Contains list of virtual accounts
          items:
            $ref: '#/components/schemas/VirtualAccountObject'
        cursor:
          type: string
          description: >-
            Cursor for pagination. It will be empty if there is no more page to
            scroll to
          example: xchbaVFsjdsbaADddd
    RequestError:
      type: object
      description: Request Error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '400'
        description:
          type: string
          description: Additional details about the error.
          example: Request failed.
    AuthenticationError:
      type: object
      description: Authentication Error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '401'
        description:
          type: string
          description: Additional details about the error.
          example: Unauthorized
    AuthorizationError:
      type: object
      description: Permissions error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '403'
        description:
          type: string
          description: Additional details about the error.
          example: Forbidden
    RecordNotFoundError:
      type: object
      description: Record-Not-Found error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '404'
        description:
          type: string
          description: Additional details about the error.
          example: Record not found
    RateLimitError:
      type: object
      description: Rate-limit error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '429'
        description:
          type: string
          description: Additional details about the error.
          example: Too many requests
    ServerError:
      type: object
      description: Server error response.
      properties:
        code:
          type: string
          description: API error code.
          example: '500'
        description:
          type: string
          description: Additional details about the error.
          example: Server error
    VirtualAccountObject:
      type: object
      properties:
        createdAt:
          type: string
          description: Creation timestamp
          format: date-time
          example: '2023-09-04T07:09:06.900Z'
        accountHolderId:
          type: string
          description: Account holder ID
          minLength: 36
          maxLength: 36
          example: 01a10aeb-d989-460a-bbde-9842f2b4320f
        accountRef:
          type: string
          description: Account reference
          minLength: 16
          maxLength: 64
          example: 1oWbJQQHLyQqqf1SwxjSpudeA21
        bvn:
          type: string
          description: Bank Verification Number (BVN)
          minLength: 11
          maxLength: 11
          example: '12234412345'
        accountName:
          type: string
          description: Account holder's name
          minLength: 8
          maxLength: 64
          example: Daniel Scorsese
        bankName:
          type: string
          description: Bank name
          example: Nombank MFB
        bankAccountNumber:
          type: string
          description: Bank account number
          example: '9391076543'
        bankAccountName:
          type: string
          description: Bank account holder name
          example: Nomba/Ifeoluwa Adeboye
        currency:
          type: string
          description: Currency code
          minLength: 3
          maxLength: 3
          enum:
            - NGN
          example: NGN
        callbackUrl:
          type: string
          description: Callback url
          format: url
          example: https://webhook.site/98ef100f-5adc-4434-800a-0808h60bd8d7
        expired:
          type: boolean
          description: Successfully updated
          example: true
      required:
        - createdAt
        - accountHolderId
        - accountRef
        - bvn
        - accountName
        - bankName
        - bankAccountName
        - bankAccountNumber
        - currency
        - callbackUrl
        - expired
  securitySchemes:
    BearerAuth:
      description: >-
        Nomba authenticates API calls with [OAuth2 HTTP bearer
        tokens](http://tools.ietf.org/html/rfc6750). There are two methods of
        authentication; [Client-Credentials
        method](https://www.rfc-editor.org/rfc/rfc6749) and [PKCE (Proof Key for
        Code Exchange)](https://www.rfc-editor.org/rfc/rfc7636) method. In each
        of the methods, You will get an `ACCESS_TOKEN`. You need to use an
        `"Authorization"` HTTP header to provide your `ACCESS_TOKEN`. For
        example: `Authorization: {ACCESS_TOKEN}`.
      scheme: bearer
      type: http
      bearerFormat: JWT

````