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

# List Bank Accounts

> Get every bank account on file for one of your users, in a single list.

This combines two kinds of bank account into one response:

- **Linked bank accounts** — bank accounts the user connected from an
  outside bank (for example a standard bank account, or an ACH, RTP, or
  wire account, or an account that was linked instantly). These have a
  ``type`` of ``linked_bank_account``.
- **Virtual bank accounts** — bank accounts Finogate issued to the user so
  they have their own account number and routing number for receiving
  money. These have a ``type`` of ``virtual_bank_account``.

The ``type`` field on each item tells you which kind it is. Fields that
only apply to one kind are filled in for that kind and left empty
(``null``) for the other.

For safety, linked bank account details are always masked — you only ever
see a masked account number and the last 4 digits of the routing number.

The list is ordered newest first, and is split into pages using ``limit``
and ``offset``.



## OpenAPI

````yaml GET /v1/platform/bank-accounts/{user_id}
openapi: 3.1.0
info:
  title: Finogate Platform API v1
  version: 0.1.0
servers:
  - url: https://api-sandbox.finogates.com
    description: Sandbox
  - url: https://api.finogates.com
    description: Production
security: []
tags:
  - name: auth
  - name: users
  - name: payees
  - name: verification
  - name: bank accounts
  - name: card processing
  - name: digital-assets
  - name: international
  - name: onboarding
  - name: pending-applications
  - name: wallets
  - name: payments
  - name: catalog
  - name: webhooks
  - name: phone-numbers
  - name: sms
  - name: calls
  - name: listings
  - name: embed-tokens
paths:
  /v1/platform/bank-accounts/{user_id}:
    get:
      tags:
        - bank accounts
      summary: List a User's Bank Accounts
      description: >-
        Get every bank account on file for one of your users, in a single list.


        This combines two kinds of bank account into one response:


        - **Linked bank accounts** — bank accounts the user connected from an
          outside bank (for example a standard bank account, or an ACH, RTP, or
          wire account, or an account that was linked instantly). These have a
          ``type`` of ``linked_bank_account``.
        - **Virtual bank accounts** — bank accounts Finogate issued to the user
        so
          they have their own account number and routing number for receiving
          money. These have a ``type`` of ``virtual_bank_account``.

        The ``type`` field on each item tells you which kind it is. Fields that

        only apply to one kind are filled in for that kind and left empty

        (``null``) for the other.


        For safety, linked bank account details are always masked — you only
        ever

        see a masked account number and the last 4 digits of the routing number.


        The list is ordered newest first, and is split into pages using
        ``limit``

        and ``offset``.
      operationId: list_bank_accounts_v1_platform_bank_accounts__user_id__get
      parameters:
        - name: user_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: The unique ID of the user whose bank accounts you want.
            examples:
              - b3a9b622-cc63-4d3c-aad6-2d8e29e6f9d4
            title: User Id
          description: The unique ID of the user whose bank accounts you want.
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            maximum: 200
            minimum: 1
            description: How many bank accounts to return per page (1 to 200).
            default: 50
            title: Limit
          description: How many bank accounts to return per page (1 to 200).
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            minimum: 0
            description: How many bank accounts to skip before this page starts.
            default: 0
            title: Offset
          description: How many bank accounts to skip before this page starts.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - _AuthenticatedBearer: []
components:
  schemas:
    ListResponse:
      properties:
        status_code:
          type: integer
          title: Status Code
          description: HTTP status code for the response.
        data:
          title: Data
          description: Payload or error details.
        query_generated_time:
          type: integer
          title: Query Generated Time
          description: >-
            UTC timestamp (milliseconds since epoch) when response was
            generated.
        row_count:
          type: integer
          minimum: 0
          title: Row Count
          description: Total rows matching the request filters (not just this page).
        limit:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          title: Limit
          description: >-
            Page size used for this response. Null for cursor-paginated
            endpoints.
        current_page:
          anyOf:
            - type: integer
              minimum: 1
            - type: 'null'
          title: Current Page
          description: >-
            1-indexed page number for this response. Null for cursor-paginated
            endpoints.
        total_page_number:
          anyOf:
            - type: integer
              minimum: 0
            - type: 'null'
          title: Total Page Number
          description: >-
            Total number of pages given the current limit. Null for
            cursor-paginated endpoints.
        next_cursor:
          anyOf:
            - type: string
            - type: 'null'
          title: Next Cursor
          description: Cursor for the next page, if available.
      type: object
      required:
        - status_code
        - data
        - query_generated_time
        - row_count
      title: ListResponse
      description: |-
        Standard response wrapper for list responses.

        Declare ``ListResponse[list[SomeModel]]`` to render the real ``data``
        array schema in OpenAPI/Swagger; a bare ``ListResponse`` leaves ``data``
        untyped.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    _AuthenticatedBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: /v1/platform/auth/token

````