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

# List customer-bound external accounts for your authenticated platform.

> List customer-bound external accounts for your authenticated platform with optional customer and currency filters plus cursor pagination. This is a safe masked ExternalAccount readback surface rather than platform-owned account management or Customer CRUD.



## OpenAPI

````yaml /openapi/blips-public-reference.yaml get /customers/external-accounts
openapi: 3.1.0
info:
  title: BLIPS Public Reference API
  version: '2026-04-08'
  description: >-
    Public OpenAPI 3.1 subset for the first BLIPS Mintlify API Reference and
    Playground release. This document is bound to the confirmed Public Test
    Backend at https://public-test.blips.network, includes only the approved
    first-release public endpoints, uses only internal `$ref` values, and
    excludes callback-only webhook documentation and operator-only surfaces.
servers:
  - url: https://public-test.blips.network
    description: >-
      Confirmed Public Test Backend ingress target for public BLIPS API
      Reference, Playground, and internet-testable Try It flows.
security:
  - BasicAuth: []
tags:
  - name: Platform Setup
    description: >-
      Bootstrap and platform configuration surfaces for establishing the public
      BLIPS integration context.
  - name: Sandbox API
    description: >-
      Sandbox-only externally displayed helper surfaces. These routes either
      adjust quote inputs or create incoming-payment review cases, but they
      always feed the existing quote or transaction families and never become
      second outward API families.
  - name: Tokens
    description: >-
      Platform-scoped API credential create, list, detail, and revoke
      operations.
  - name: Customers
    description: >-
      Customer onboarding, profile lifecycle, and PPV payment-address issuance
      surfaces.
  - name: Accounts
    description: >-
      Customer-bound internal-account and external-account surfaces kept in the
      first-layer public contract.
  - name: Same-Currency Transfers
    description: >-
      Same-currency receiver lookup plus incoming and outgoing transfer
      primitives.
  - name: Cross-Currency Transfers
    description: >-
      PPV-first receiver lookup, quote creation/readback, and quote execution
      for cross-currency flows.
  - name: Transactions
    description: Transaction readback plus bounded incoming-review decision operations.
  - name: Webhooks
    description: >-
      Webhook connectivity verification surface for the public BLIPS
      integration.
paths:
  /customers/external-accounts:
    get:
      tags:
        - Accounts
      summary: List customer-bound external accounts for your authenticated platform.
      description: >-
        List customer-bound external accounts for your authenticated platform
        with optional customer and currency filters plus cursor pagination. This
        is a safe masked ExternalAccount readback surface rather than
        platform-owned account management or Customer CRUD.
      operationId: listCustomerExternalAccounts
      parameters:
        - name: customerId
          in: query
          required: false
          schema:
            type: string
          description: Filter by the owning customer's system-generated BLIPS ID / UUID.
        - name: currency
          in: query
          required: false
          description: Filter by ISO 4217 currency code.
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
          description: Maximum number of results to return. Defaults to 10 and caps at 100.
        - name: cursor
          in: query
          required: false
          description: Pagination cursor returned from a previous list response.
          schema:
            type: string
      responses:
        '200':
          description: Customer external account list returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerExternalAccountListMvpResponse'
              examples:
                default:
                  value:
                    data:
                      - id: ExternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965
                        status: ACTIVE
                        customerId: Customer:019542f5-b3e7-1d02-0000-000000000001
                        currency: USD
                        accountInfo:
                          accountType: USD_ACCOUNT
                          accountCategory: CHECKING
                          bankName: Chase Bank
                          accountNumberLast4: '8901'
                          routingNumberLast4: '6789'
                        platformAccountId: ext_acc_123456
                        createdAt: '2026-04-05T12:00:00Z'
                        updatedAt: '2026-04-05T12:00:00Z'
                    hasMore: false
                    nextCursor: ''
                    totalCount: 1
        '400':
          description: Missing or invalid external-account list query parameters.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CustomerExternalAccountListMvpErrorResponse
              examples:
                invalidInput:
                  value:
                    status: 400
                    code: INVALID_REQUEST
                    message: Invalid external-account list query parameters
                    details:
                      cursor: must be a non-negative integer offset
        '401':
          description: Invalid or missing API credentials.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CustomerExternalAccountListMvpErrorResponse
              examples:
                unauthorized:
                  value:
                    status: 401
                    code: UNAUTHORIZED
                    message: Invalid or missing API credentials
                    details: {}
        '500':
          description: Internal service error.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CustomerExternalAccountListMvpErrorResponse
              examples:
                internalServiceError:
                  value:
                    status: 500
                    code: INTERNAL_ERROR
                    message: Internal service error
                    details: {}
      security:
        - BasicAuth: []
components:
  schemas:
    CustomerExternalAccountListMvpResponse:
      type: object
      additionalProperties: false
      description: Frozen MVP customer-bound external-account list response.
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/CustomerExternalAccountListMvpItem'
          description: Customer-bound external-account rows returned for the current page.
        hasMore:
          type: boolean
          description: Whether more results exist.
        nextCursor:
          type: string
          description: Cursor for the next page.
        totalCount:
          type: integer
          description: Total matching records.
      required:
        - data
        - hasMore
        - nextCursor
        - totalCount
    CustomerExternalAccountListMvpErrorResponse:
      type: object
      additionalProperties: false
      description: >-
        Standard public error envelope for customer external-account list
        failures.
      properties:
        status:
          type: integer
          description: HTTP status code.
        code:
          type: string
          description: Machine-readable error code.
        message:
          type: string
          description: Human-readable error summary.
        details:
          type: object
          description: Optional structured error details.
          additionalProperties: true
      required:
        - status
        - code
        - message
        - details
    CustomerExternalAccountListMvpItem:
      type: object
      additionalProperties: false
      description: >-
        Frozen MVP customer-bound external-account list item with safe/masked
        account information.
      properties:
        id:
          type: string
          description: BLIPS identifier for the bound external account.
        status:
          type: string
          description: External-account lifecycle status.
        customerId:
          type: string
          description: BLIPS customer identifier for the owning customer.
        currency:
          type: string
          description: ISO 4217 currency code for the bound external account.
        accountInfo:
          $ref: >-
            #/components/schemas/CustomerExternalAccountCreateMvpMaskedAccountInfoResponse
          description: Safe masked external-account details returned for the bound account.
        platformAccountId:
          type: string
          description: Platform-side reference/id for this external account.
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp for the bound external account.
        updatedAt:
          type: string
          format: date-time
          description: Most recent update timestamp for the bound external account.
      required:
        - id
        - status
        - customerId
        - currency
        - accountInfo
        - platformAccountId
        - createdAt
        - updatedAt
    CustomerExternalAccountCreateMvpMaskedAccountInfoResponse:
      type: object
      description: Safe/masked external-account details returned after binding.
      properties:
        accountType:
          type: string
          description: External account rail/type returned for the bound account.
        accountCategory:
          type:
            - string
            - 'null'
          description: Account category returned for the bound external account.
        bankName:
          type:
            - string
            - 'null'
          description: Bank or financial institution name when available.
        accountNumberLast4:
          type:
            - string
            - 'null'
          description: Last four digits of the account number when available.
        routingNumberLast4:
          type:
            - string
            - 'null'
          description: >-
            Last four digits of the routing or bank-network identifier when
            available.
      required:
        - accountType
        - accountCategory
        - bankName
        - accountNumberLast4
        - routingNumberLast4
      additionalProperties: false
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        Integration-key Basic Auth (`clientId:clientSecret`) as documented in
        docs/public/AUTHENTICATION.md.

````