List Customers
GET/api/shopify/:integrationInstance/customers
Returns a paginated list of Shopify customers synced for the integration instance, including their default address and total synced order count.
Any valid API token can call this endpoint — no specific scope required. Manage tokens.
Authentication: Requires Bearer token.
Filterable columns: id, legacy_resource_id, email, first_name, last_name, phone, full_name, city, province, country_code, shopify_created_at, created_at, updated_at. filter[search] matches email, first name, last name, phone, and address city/province/country.
Filtering: pass filter[column]=value for an exact match, or filter[column.operator]=value with operators such as contains, does_not_contain, is, is_not, is_one_of, starts_with, ends_with, is_empty, is_not_empty (text), greater_than, less_than, greater_than_or_equal, less_than_or_equal, between (numeric/date). Complex AND/OR trees can be sent as a base64-encoded JSON tree in the filter_groups parameter.
Allowed sorts: id, email, first_name, last_name, shopify_created_at, created_at, updated_at (prefix with - for descending; default -id). Pagination defaults to 15 per page.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.