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

# List customers

`GET /customers`

Retrieve all customers with cursor pagination

## Query parameters

- `cursor` string, nullable
- `limit` number
- `filter[field][operator]` string, nullable — **Filterable fields:** - `email` (string) - `type` (string) - `created_at` (date) See [Filtering Documentation](https://docs.nomos.energy/guides/filtering) for supported operators and syntax.

## Response `200`

Retrieve all customers with cursor pagination

- object
  - `object` 'list', required
  - `items` Customer[], required
    - union
      - object
        - `object` 'customer', required — Type of the object, always 'customer'
        - `id` string, required — Unique identifier for the customer
        - `type` 'person' — Type of the customer, always 'person'
        - `first_name` string, required — Customer's first name
        - `last_name` string, required — Customer's last name
        - `email` string, email, required — Email address
        - `vat_id` string, nullable — VAT identification number (USt-IdNr.) of the customer
        - `created_at` union, required — Timestamp when the customer was created
          - string
          - string, date-time
      - object
        - `object` 'customer', required — Type of the object, always 'customer'
        - `id` string, required — Unique identifier for the customer
        - `type` 'company', required — Type of the customer, always 'company'
        - `first_name` string, required — First name of the customer
        - `last_name` string, required — Last name of the customer
        - `company_name` string, required — Company name
        - `email` string, email, required — Email address
        - `vat_id` string, nullable — VAT identification number (USt-IdNr.) of the customer
        - `created_at` union, required — Timestamp when the customer was created
          - string
          - string, date-time
  - `next_page` string, nullable
  - `has_more` boolean

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The client must authenticate itself to get the requested response.
- `402` — A higher pricing plan is required to access the resource.
- `403` — The client does not have the necessary permissions to access the resource.
- `404` — The server can't find the requested resource.
- `405` — The request method is not allowed.
- `409` — The request could not be completed due to a conflict mainly due to unique constraints.
- `422` — The request was well-formed but was unable to be followed due to semantic errors.
- `429` — The client has sent too many requests.
- `500` — The server has encountered a situation it doesn't know how to handle.

---

[API](https://skmtc.dev/nomos/apis/nomos-api.md) · [All operations](https://skmtc.dev/nomos/apis/nomos-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/nomos/nomos-api/revisions/da60ad83e92f/schema)
