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

# List customers

> Lists end customers onboarded under the current tenant account.

## What this endpoint does

Lists end customers onboarded under the current tenant account.

## When to use it

Use it to build customer search, onboarding queues, and links into customer detail.

## Before you call

Authenticate with an API key that can read this resource. Results are restricted to the tenant account bound to that key.

## Money and balance effect

This is a read-only request. It does not reserve, debit, credit, or settle money.

## States and completion

Customer and verification states are snapshots. Fetch the customer or its entitlements when you need current eligibility.

## Safe retries

GET requests are read-only and may be retried with normal exponential backoff. Do not send an `Idempotency-Key`.

Read [Customers](/console/customers) for the complete workflow.


## OpenAPI

````yaml /api-reference/openapi.json get /v1/customers
openapi: 3.0.0
info:
  title: Wayex API
  description: >-
    Wayex APIs for direct customer payment routes and isolated, prefunded
    Treasury accounts. Each API key is bound to one tenant account and its own
    wallet, settings, webhooks, and reporting.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.sandbox.wayex.com
    description: Sandbox integration environment
security:
  - Bearer: []
  - ApiKey: []
tags:
  - name: Treasury
    description: >-
      Prefunded AUD and stablecoin wallets for one isolated tenant account.
      Fund, pay, convert, withdraw, track, and reconcile without selecting
      another account.
  - name: Customers
    description: >-
      Onboard end customers, run verification, and manage each customer's
      entitlements.
  - name: Payment routes
    description: >-
      Standing deposit instructions per customer. When a customer funds a route,
      Wayex auto-converts at the live rate and pays out/sends — no quote, no
      lock.
  - name: Transfers
    description: >-
      Read the conversion records produced when customers fund payment routes —
      the live activity feed and per-conversion lifecycle timeline.
  - name: Rates
    description: >-
      The live indicative AUD↔stablecoin rate right now — the all-in rate Wayex
      quotes. Indicative only; the binding price is struck when a route's funds
      land.
  - name: Revenue
    description: Your developer-fee revenue over time.
  - name: Invoices
    description: >-
      Your monthly invoices — Wayex platform fees due, net of your accrued
      developer-fee credit.
  - name: Webhooks
    description: Subscribe to HMAC-signed event webhooks and inspect deliveries.
  - name: API keys
    description: Create, list, and rotate API keys for programmatic access.
  - name: Fees
    description: >-
      Configure your developer fee — the markup withheld from each conversion
      and credited against your monthly invoice.
  - name: Invitations
    description: Accept a team invitation and activate your account.
paths:
  /v1/customers:
    get:
      tags:
        - Customers
      summary: List customers
      description: >-
        Lists end customers onboarded under the current tenant account. Use it
        to build customer search, onboarding queues, and links into customer
        detail.
      operationId: CustomerController2_list_v1
      parameters:
        - name: counterparty_id
          required: false
          in: query
          description: >-
            Admin keys only: scope results to the given client account
            (counterparty). Non-admin callers passing this parameter receive
            `403` — it is never silently ignored.
          schema:
            type: string
        - name: cursor
          required: true
          in: query
          schema:
            type: string
        - name: limit
          required: true
          in: query
          schema:
            type: string
      responses:
        '200':
          description: A cursor-paginated page of customers.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    description: The page of results, newest first.
                    items:
                      type: object
                      properties:
                        id:
                          description: Unique Wayex identifier for this customer.
                          type: string
                          minLength: 1
                        counterpartyId:
                          description: >-
                            The client account (counterparty) this customer
                            belongs to. For API callers this is always your own
                            account id.
                          type: string
                          minLength: 1
                        externalCustomerId:
                          description: >-
                            Your own identifier for this customer, echoed back
                            for cross-referencing.
                          type: string
                          minLength: 1
                        type:
                          description: >-
                            Whether the customer is an individual (natural
                            person) or a business (legal entity).
                          type: string
                          enum:
                            - individual
                            - business
                        contact:
                          type: object
                          properties:
                            email:
                              description: The customer's contact email address.
                              type: string
                              format: email
                            name:
                              description: Optional display name for the customer.
                              type: string
                              minLength: 1
                          required:
                            - email
                        businessDetails:
                          type: object
                          properties:
                            companyName:
                              type: string
                              minLength: 1
                            registrationNumber:
                              type: string
                              minLength: 1
                            country:
                              type: string
                              minLength: 1
                          required:
                            - companyName
                            - registrationNumber
                            - country
                        individualDetails:
                          type: object
                          properties:
                            firstName:
                              type: string
                              minLength: 1
                            lastName:
                              type: string
                              minLength: 1
                            dob:
                              type: string
                              minLength: 1
                            nationality:
                              type: string
                              minLength: 1
                            country:
                              type: string
                              minLength: 1
                          required:
                            - firstName
                            - lastName
                            - dob
                            - nationality
                            - country
                        verificationStatus:
                          description: >-
                            Current verification state. Value can only move on
                            the customer's behalf once approved.
                          type: string
                          enum:
                            - in_progress
                            - approved
                            - rejected
                            - requires_action
                        entitlements:
                          description: >-
                            The capabilities this customer is cleared for,
                            granted as verification completes.
                          type: array
                          items:
                            type: object
                            properties:
                              entitlement:
                                type: string
                                enum:
                                  - aud_onramp
                                  - aud_offramp
                                  - payment_route
                                  - higher_limits
                              status:
                                type: string
                                enum:
                                  - in_progress
                                  - approved
                                  - rejected
                                  - requires_action
                            required:
                              - entitlement
                              - status
                        metadata:
                          type: object
                          additionalProperties:
                            type: string
                        createdAt:
                          description: When the customer was created (ISO 8601).
                          type: string
                          format: date-time
                      required:
                        - id
                        - counterpartyId
                        - type
                        - contact
                        - verificationStatus
                        - entitlements
                        - createdAt
                  hasMore:
                    type: boolean
                    description: Whether a further page exists after this one.
                  nextCursor:
                    type: string
                    nullable: true
                    description: >-
                      Opaque cursor to pass as `cursor` to fetch the next page,
                      or null at the end.
                required:
                  - data
                  - hasMore
                  - nextCursor
        '403':
          description: counterparty_id passed with a non-admin key.
      security:
        - Bearer: []
        - ApiKey: []
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: Wayex API key
      description: 'Send the same Wayex API key as `Authorization: Bearer <key>`.'
    ApiKey:
      type: apiKey
      in: header
      name: X-Api-Key
      description: A Wayex API key. Use a secret key for write operations.

````