Skip to content

Lists customers

Request

GET {{baseURL}}/v2/customers

This endpoint lists customers.

See Also:
To create a new customer, see POST /v2/customers.
To retrieve a customer by ID, see GET /v2/customers/{customerId}.
To update a customer, see PATCH /v2/customers/{customerId}.

Security
Bearer
Query
pageIndexinteger, (int32), >= 0

Specifies the page number of the returned search results.

A page is considered each set of the pageSize values.

The page count is zero-based. The maximum for pageIndex, or the page number, is the pageSize divided by the total count rounded down. For example, the pageSize is 50 and the total is 130. That means there are three pages, but the pageIndex value is in the inclusive range from zero to two.

Value restrictions include:

  • A value less than zero is not permitted.
  • Values equal to or greater than totalPages end successfully but will not return any items.

For page size information, see pageSize.

Example: 0

Default:0
pageSizeinteger, (int32), [ 1 .. 100 ]

Specifies the number of items for each page of the returned search results.

A page is considered each set of the pageSize values.

The page count is zero-based. The maximum for pageIndex, or the page number, is the pageSize divided by the total count rounded down. For example, the pageSize is 50 and the total is 130. That means there are three pages, but the pageIndex value is in the inclusive range from zero to two.

For page numbering information, see pageIndex.

Example: 50

Default:20
ascboolean

Specifies the sort order is ascending.

The sort field is specified by the orderBy value.

If true, the sort order is ascending.
If false, the sort order is descending.

Example: true

Default:true
sortBystring

Specifies the field the results get ordered or sorted by.

The sort order is specified by the sortOrder value.
The field that gets sorted by is specified by the sortBy value.

Example:sortBy=ContactName
fullNamestring

Filters by the full name.

Example:fullName=Alexandro Peppared
emailstring

Filters by an email.

Example:email=pepparedstreetcafe@example.com
companyNamestring

Filters by a company name.

Example:companyName=Peppared Street Cafe
mobilePhoneNumberstring

Filters by a mobile phone number.

Free-form search input, E.164 format is not required. This allows partial digits or legacy formats.

Example:mobilePhoneNumber=+14155552309
createdFromstring, (date-time)

Filters by the earliest inclusive created date (in an ISO 8601 date-time UTC format).

If only createdFrom is specified, the search returns all available items from the createdFrom value to the present. The fields createdFrom and createdTo may be used together to create an inclusive range. We recommend creating an inclusive range to avoid a potentially excessive number of returns.

Example:createdFrom=2026-02-19T20:24:52.934Z
createdTostring, (date-time)

Filters by the latest inclusive created date (in an ISO 8601 date-time UTC format).

If only createdFrom is specified, the search returns all available items from the createdFrom value to the present. The fields createdFrom and createdTo may be used together to create an inclusive range. We recommend creating an inclusive range to avoid a potentially excessive number of returns.

Example:createdTo=2026-03-06T14:24:52.934Z
curl -i -X GET \
  'https://sandbox.api.flute.com/v2/customers?pageIndex=0&pageSize=20&asc=true&sortBy=ContactName&fullName=Alexandro%20Peppared&email=pepparedstreetcafe%40example.com&companyName=Peppared%20Street%20Cafe&mobilePhoneNumber=%2B14155552309&createdFrom=2026-02-19T20%3A24%3A52.934Z&createdTo=2026-03-06T14%3A24%3A52.934Z' \
  -H 'Authorization: Bearer <YOUR_JWT_HERE>'

Responses

OK

Bodyapplication/json
itemsArray of objects or null
pageInfoobject

Indicates an object describing the pagination status.

If additional pages to review are needed, repeat the exact same search but include a new pageIndex value. Typically, this will increment the current pageIndex by one. However, any valid value may be used. Value restrictions include:

  • A value less than zero is not permitted.
  • Values equal to or greater than totalPages end successfully but will not return any items.
Response
{ "items": [ { "customerId": "f81ca0b7-fa2e-4a6c-be9e-7def348c1ddf", "externalId": "CUST-EXT-001", "firstName": "John", "lastName": "Peppared", "companyName": "Acme Corp", "email": "john.doe@acme.com", "mobilePhoneNumber": "+14125553845", "billingAddress": { "city": "New York", "countryCode": "US", "addressLine1": "123 Main Street", "addressLine2": null, "postalCode": "10001", "stateCode": "NY" }, "lastTransactionDate": "2026-05-29T22:04:31.771Z", "paymentMethodsCount": 3 }, { "customerId": "a98bbbba-40e6-4114-970a-078ebfdcbac2", "externalId": "CUST-EXT-002", "firstName": "Alexandro", "lastName": "Peppared", "companyName": "Tech Solutions Inc", "email": "peppared@techsolutions.com", "mobilePhoneNumber": "+14155557890", "billingAddress": { "city": "Los Angeles", "countryCode": "US", "addressLine1": "456 Oak Avenue", "addressLine2": null, "postalCode": "90001", "stateCode": "CA" }, "lastTransactionDate": "2026-06-01T22:04:31.771Z", "paymentMethodsCount": 1 } ], "pageInfo": { "pageIndex": 0, "pageSize": 20, "totalItems": 150, "totalPages": 8, "hasMore": true } }