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

# List Customers

> List customers for the authenticated merchant

## Overview

Retrieve a paginated list of customers belonging to the authenticated merchant. Supports filtering by email.

## Authentication

<ParamField header="X-Api-Key" type="string" required>
  Your merchant API key
</ParamField>

## Query Parameters

<ParamField query="limit" type="integer">
  Results per page

  **Default:** `50` | **Max:** `200`
</ParamField>

<ParamField query="page" type="integer">
  Page number to retrieve

  **Default:** `1`
</ParamField>

<ParamField query="email" type="string">
  Filter by exact email address

  **Example:** `customer@example.com`
</ParamField>

## Request Example

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/customers?limit=50' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```

  ```bash cURL - Filter by email theme={null}
  curl --request GET \
    --url 'https://api.daya.co/v1/customers?email=customer@example.com' \
    --header 'X-Api-Key: YOUR_API_KEY'
  ```
</CodeGroup>

## Response

<ResponseField name="data" type="array" required>
  Array of customer objects
</ResponseField>

<ResponseField name="page" type="integer" required>
  Current page number
</ResponseField>

<ResponseField name="limit" type="integer" required>
  Results per page
</ResponseField>

<ResponseField name="total" type="integer" required>
  Total number of customers matching the query
</ResponseField>

<ResponseField name="total_pages" type="integer" required>
  Total number of pages available
</ResponseField>

### Success Response

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "data": [
      {
        "id": "650e8400-e29b-41d4-a716-446655440000",
        "email": "customer@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "is_verified": false,
        "tier_1_kyc_complete": false,
        "tier_2_kyc_complete": false,
        "capabilities": [],
        "rejection_reasons": [],
        "created_at": "2026-01-05T15:04:05Z",
        "updated_at": "2026-01-05T15:04:05Z"
      }
    ],
    "page": 1,
    "limit": 50,
    "total": 1,
    "total_pages": 1
  }
  ```
</ResponseExample>

## Pagination

This endpoint uses **page-based pagination**.

1. Make your initial request (optionally with `limit` and `page`)
2. Check `total_pages` to determine how many pages are available
3. Increment `page` to fetch subsequent pages until you reach `total_pages`
