---
title: "List customers"
method: GET
path: "/api/v1/customers"
tags: ["Customers"]
---

# List customers

`GET /api/v1/customers`

## Request

- Base URL: `https://merchant.zahlo.eu`
- URL: `https://merchant.zahlo.eu/api/v1/customers`
- Auth: API key in header `x-api-key`

List customers. Use the response status and request ID to decide whether to retry, reconcile, or ask the customer for action.

## Query parameters

- `limit` integer
- `startingAfter` string
- `endingBefore` string
- `email` string

## Response `200`

A list of customers

- object
  - `object` 'list', required
  - `data` Customer[], required
    - `id` string, required
    - `object` 'customer', required
    - `livemode` boolean, required
    - `createdAt` string, date-time, required
    - `email` string, email, required
    - `name` string, nullable
    - `phone` string, nullable
    - `address` object, nullable
      - `line1` string, nullable
      - `line2` string, nullable
      - `city` string, nullable
      - `postalCode` string, nullable
      - `country` string, nullable: ISO 3166-1 alpha-2
    - `preferredLocale` string, nullable: For example `en` or `de-DE`; customer emails use it.
    - `taxIds` object[]: Printed on the customer's receipts and invoices. Spaces, dots and dashes are stripped.
      - `type` 'eu_vat' | 'gb_vat' | 'ch_vat', required
      - `value` string, required
      - `verification` object, nullable, required: VIES check of an `eu_vat` ID, run shortly after it is set: `pending` until VIES answers (retried hourly while VIES is down), then `verified` or `unverified`. Other types are `unavailable`. Reverse charge never applies to an `unverified` ID.
        - `status` 'pending' | 'verified' | 'unverified' | 'unavailable', required
        - `verifiedName` string, nullable, required: The registered name VIES returned, if it shares it.
    - `metadata` object, required: Up to 50 key-value pairs; keys up to 40 characters, values strings up to 500 characters.
    - `defaultPaymentMethodId` string, nullable
  - `hasMore` boolean, required

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `404`: Resource not found
- `409`: Request conflicts with existing state

---

[API](https://skmtc.dev/zahlo/apis/zahlo-merchant-api.md) - [All operations](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zahlo/apis/zahlo-merchant-api/revisions/8fcbef981e0d?raw)
