---
title: "Bulk read customers"
method: GET
path: "/v1/customers"
tags: ["Customers"]
---

# Bulk read customers

`GET /v1/customers`

## Request

- Base URL: `https://api.finalpos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.finalpos.com/v1/customers`
- Auth: API key in header `x-api-key`

Retrieves a list of customers. Supports filtering by fields, sorting, and pagination.

## Query parameters

- `skip` number
- `limit` number
- `sortBy` 'createdAt' | 'updatedAt' | 'email' | 'firstName' | 'lastName'
- `sortOrder` 'asc' | 'desc'
- `searchByEmail` string
- `searchByFirstName` string
- `searchByLastName` string
- `searchByPhone` string
- `createdAt` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `updatedAt` object
  - `gte` string, date-time
  - `lte` string, date-time
  - `gt` string, date-time
  - `lt` string, date-time
- `outletId` string
- `source` string
- `tags` string

## Response `200`

Successfully retrieved list of items

- object
  - `data` CustomerResponseDto[]
    - `id` string: Unique identifier for the Customer.
    - `createdAt` string, date-time: Timestamp when the Customer was created.
    - `updatedAt` string, date-time: Timestamp when the Customer was last updated.
    - `companyId` string: Company ID associated with the Customer.
    - `email` string: Email address of the Customer.
    - `firstName` string: First name of the Customer.
    - `lastName` string: Last name of the Customer.
    - `outletId` string: Outlet ID associated with the Customer.
    - `externalId` string: External ID associated with the Customer when synced from external source. If present, it will set fromFinal to true.
    - `source` string: Source of the customer.
    - `phone` string: Phone number of the Customer.
    - `totalSpent` number: Total amount spent by the Customer.
    - `lastAction` string, date-time: Timestamp when the Customer was last actioned.
    - `tags` string[]: Tags associated with the Customer.
    - `billing` AddressDto
      - `address1` string, required: Street address line 1
      - `city` string, required: City
      - `postCode` string, required: Postal/ZIP code
      - `country` string, required: Country
      - `state` string, required: State/Province
      - `address2` string: Street address line 2
      - `phone` string: Phone number
    - `shipping` AddressDto
      - `address1` string, required: Street address line 1
      - `city` string, required: City
      - `postCode` string, required: Postal/ZIP code
      - `country` string, required: Country
      - `state` string, required: State/Province
      - `address2` string: Street address line 2
      - `phone` string: Phone number
    - `metadata` MetadataDto[]: Metadata associated with the Customer.
      - `key` string, required: Key of the metadata entry.
      - `value` string, required: Value of the metadata entry.
      - `externalId` string: External ID associated with the metadata entry.
    - `notes` NoteDto[]: Notes associated with the Customer.
      - `message` string: Message of the Note.
  - `meta` object
    - `count` number: Total number of items matching the query filters
    - `skip` number: Number of items skipped
    - `limit` number: Maximum number of items returned

## Other responses

- `400`: Bad request. Returns validation errors or other request-related errors.
- `404`: The resource(s) were not found.

---

[API](https://skmtc.dev/finalpos/apis/final-pos-public-api.md) · [All operations](https://skmtc.dev/finalpos/apis/final-pos-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/finalpos/apis/final-pos-public-api/revisions/6a6842dcb479?raw)
