List customers

This API is used to list and search the customers of the locations your token covers.

It returns a page of customers (data) and the pagination (meta). Use a customer id as customer_id in the other Customer endpoints.

Note: A customer is listed when it is linked to at least one location in your scope. Use the filters to look up a customer by your own ID (customer_id_external), email or name.

URL

{{interface_url}}/{{version}}/customers?page=1&limit=25

Method

GET

Headers

Authorization: Bearer {access_token} (or Api-Key)

Request Parameters

None.

URL Parameters

ParameterRequired/OptionalTypeDescription
searchOptionalStringName or email (partial match), phone (4+ digits) or exact external ID. Max 100.
emailOptionalStringExact email.
customer_id_externalOptionalStringYour own customer ID (exact). Max 45.
location_idOptionalIntegerOnly customers of this location (must be in your scope).
corporate_category_idOptionalIntegerOnly customers of this sub corporate (must be in your scope).
pageOptionalIntegerPage number. Default 1.
limitOptionalIntegerPage size, 1-100. Default 25.

Example Request — everything the key covers (cURL)

curl --location '{{interface_url}}/{{version}}/customers?page=1&limit=25' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}'

Example Request — one sub corporate (cURL)

curl --location '{{interface_url}}/{{version}}/customers?corporate_category_id={{corporate_category_id}}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}'

Example Request — one location (cURL)

curl --location '{{interface_url}}/{{version}}/customers?location_id={{location_id}}' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}'

Example Request — Api-Key header instead of a token (cURL)

curl --location '{{interface_url}}/{{version}}/customers' \
--header 'Accept: application/json' \
--header 'Api-Key: {{interface_api_key}}'

Example Response (JSON) — 200

{
  "data": [
    {
      "id": 48213,
      "customer_id_external": "CRM-1001",
      "first_name": "Ana",
      "last_name": "Garcia",
      "email": "[email protected]",
      "phone": "5125550134",
      "phone_country_id": 3,
      "gender": 2,
      "citizenship": null,
      "address": {
        "line1": "100 Main St",
        "line2": null,
        "city": "Austin",
        "zipcode": "78701",
        "state_id": null,
        "country_id": 3
      },
      "email_verified_at": null,
      "phone_verified_at": null,
      "status": "active",
      "editable": true,
      "locations": [
        {
          "location_id": 279685,
          "name": "Main Street",
          "linked_at": "2026-11-05T18:16:18Z"
        }
      ],
      "payment_methods_count": {
        "card": 1,
        "ach": 0
      },
      "created_at": "2026-11-05T18:16:18Z",
      "updated_at": "2026-11-05T18:16:18Z"
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 1,
    "last_page": 1
  }
}

Error Responses

Format: { "error": { "code", "name", "message", "details" } }

StatusErrorWhen
400missing_required_parametersInvalid filter (see error.details).
403developer_scope_forbiddenlocation_id or corporate_category_id outside your scope.

Path Params
string
required
Query Params
integer
integer

Page size, 1-100 (per_page also works).

Response

Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json