---
title: "List customers"
method: GET
path: "/api/v2/customers"
tags: ["Customer"]
---

# List customers

`GET /api/v2/customers`

Fetches a list of customers based on provided filters and pagination parameters. This endpoint supports filtering by various customer attributes, as well as cursor and page-based pagination for efficient data retrieval.

## Query parameters

- `filter` object[]
  - `key` 'id' | 'uuid' | 'number' | 'customerType' | 'name' | 'deviatingCustomerNumber' | 'firstname' | 'lastname' | 'title' | 'salutation' | 'birthdate' | 'department' | 'subDepartment' | 'projectId' | 'phone' | 'fax' | 'email' | 'website' | 'salesManager' | 'accountManager' | 'isLead' | 'contactPerson' | 'street' | 'zip' | 'city' | 'state' | 'addressType'
  - `op` 'equals' | 'notEquals' | 'lessThan' | 'greaterThan' | 'in' | 'notIn'
  - `value` union
    - string
    - string[]
- `page` object
  - `number` string, required — Page number should be an integer greater than or equal to 1
  - `size` string, required — Page size should usually be an integer between 10 and 50.
- `cursor` object
  - `nextCursor` string — nextCursor should be base64 encoded string returned from api
  - `size` string — Page size should usually be an integer between 10 and 50.
- `order` object[]
  - `field` 'id'
  - `dir` 'asc' | 'desc'

## Response `200`

List of contact persons

- object
  - `data` object[], required
    - `id` string, required — Resource identifier.
    - `uuid` string, nullable — Nullable UUID identifier of the resource.
    - `number` string, required — Customer number. if this is not provided default number ranges will be applied automatically
    - `deviatingCustomerNumber` string, required — Deviating Customer number.
    - `customerType` 'company' | 'person', nullable, required — Type of customer
    - `name` string, required — Full name of the customer
    - `firstname` string, required — First name of the customer
    - `lastname` string, required — Last name of the customer
    - `title` string, nullable — Additional information used for salutations
    - `salutation` 'company' | 'mr' | 'mrs' | 'other', nullable, required — Salutation of the customer
    - `birthdate` string, date, nullable — Birthdate of customer
    - `department` string, nullable, required — Department of customer if necessary and available
    - `subDepartment` string, nullable, required — Sub-Department of customer if necessary and available
    - `projects` object[], required — List of projects the customer should belong to
      - `id` string, required — Resource identifier.
    - `contactDetails` object, required — Contact information of a customer
      - `phone` string, nullable — Phone number of a customer
      - `fax` string, nullable — Fax number of a customer
      - `email` string, nullable — Email address of a customer
      - `website` string, nullable — URL of customers website
      - `additionalData` object[] — List of additional not default contact data
        - `label` string, required — Specific key for customer contact data
        - `value` string, nullable, required — Value for specified customers contact data key
    - `accountManager` object, nullable, required — Account manager of this customer
      - `id` string, required — Resource identifier.
    - `salesManager` object, nullable, required — Sales manager of this customer
      - `id` string, required — Resource identifier.
    - `isLead` boolean, required — Tells if customer is a lead
    - `contactPerson` string, nullable, required — Name of contact person
    - `documentDelivery` object, required — Additional E-Mail addresses used for deliver business letters
      - `offer` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `salesOrder` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `invoice` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `creditNote` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `deliveryNote` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `purchaseOrder` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `dunning` object, required
        - `email` string, nullable — E-mail address used for sending document
        - `cc` string, nullable — E-mail address used for sending copy of document
      - `autoCreateDocuments` 'both' | 'delivery_note' | 'invoice' — Create receipts in auto-shipping
      - `invoiceAlwaysPaper` boolean — Even with automatic dispatch, a paper invoice is always created
      - `amountInvoicePrints` integer, nullable — Number of printouts during shipping
      - `preferFax` boolean — Prefer sending by FAX
  - `extra` union
    - object
      - `totalCount` integer, required — the total count of all items
      - `page` object, required — The pagination object containing the current page number and size
        - `number` integer, required — The current page number
        - `size` integer, required — The size of the pages
    - object
      - `totalCount` integer, nullable, required — the total count of all items
      - `cursor` object, required — The pagination object containing the current page number and size
        - `nextCursor` string, required — Cursoer to use for next page request
        - `size` integer, required — The size of the pages

## Other responses

- `400` — IETF RFC 9457 Problem API compliant response
- `401` — Unable to authenticate the client
- `403` — Unable to authorize the client
- `404` — Resource was not found or not enough access privileges
- `406` — Requested resource representation does not exist.

---

[API](https://skmtc.net/xentral/apis/xentral-api.md) · [All operations](https://skmtc.net/xentral/apis/xentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/xentral/xentral-api/versions/8a27ba392442/schema)
