List all customers
How to fetch a collection of customers via API
To fetch a collection of customers, send a GET
request to the /api/customers
endpoint.
Request
GET https://yourdomain.commercelayer.io/api/customers
Example
The following request fetches a collection of customers:
curl -g -X GET \
'https://yourdomain.commercelayer.io/api/customers/' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer your-access-token'
On success, the API responds with a 200 OK
status code, returning a paginated collection of resource objects:
{
"data": [
{
"id": "xYZkjABcde",
"type": "customers",
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde"
},
"attributes": {
"email": "john@example.com",
"status": "prospect",
"has_password": false,
"total_orders_count": 6,
"shopper_reference": "xxx-yyy-zzz",
"profile_id": "xxx-yyy-zzz",
"tax_exemption_code": "xxx-yyy-zzz",
"created_at": "2018-01-01T12:00:00.000Z",
"updated_at": "2018-01-01T12:00:00.000Z",
"reference": "ANY-EXTERNAL-REFEFERNCE",
"reference_origin": "ANY-EXTERNAL-REFEFERNCE-ORIGIN",
"jwt_custom_claim": {},
"metadata": {
"foo": "bar"
},
"anonymization_info": {
"status": "requested",
"requested_at": "2025-03-15 11:39:21 UTC",
"requester": {
"id": "fdgt56hh",
"first_name": "Travis",
"last_name": "Muller",
"email": "test@labadie.test"
}
}
},
"relationships": {
"customer_group": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/customer_group",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/customer_group"
}
},
"customer_addresses": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/customer_addresses",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/customer_addresses"
}
},
"customer_payment_sources": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/customer_payment_sources",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/customer_payment_sources"
}
},
"customer_subscriptions": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/customer_subscriptions",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/customer_subscriptions"
}
},
"orders": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/orders",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/orders"
}
},
"order_subscriptions": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/order_subscriptions",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/order_subscriptions"
}
},
"returns": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/returns",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/returns"
}
},
"sku_lists": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/sku_lists",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/sku_lists"
}
},
"attachments": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/attachments",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/attachments"
}
},
"events": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/events",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/events"
}
},
"tags": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/tags",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/tags"
}
},
"jwt_customer": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/jwt_customer",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/jwt_customer"
}
},
"jwt_markets": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/jwt_markets",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/jwt_markets"
}
},
"jwt_stock_locations": {
"links": {
"self": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/relationships/jwt_stock_locations",
"related": "https://yourdomain.commercelayer.io/api/customers/xYZkjABcde/jwt_stock_locations"
}
}
},
"meta": {
"mode": "test",
"organization_id": "xRRkjDFafe",
"trace_id": "69abaa3545913c78132e5578bd26208d44aa9043647d78698fd0021f3958cd74"
}
},
{
"other": "... 9 customers (first page)"
}
],
"meta": {
"record_count": 140,
"page_count": 14
},
"links": {
"first": "https://yourdomain.commercelayer.io/api/customers?page[number]=1&page[size]=10",
"next": "https://yourdomain.commercelayer.io/api/customers?page[number]=2&page[size]=10",
"last": "https://yourdomain.commercelayer.io/api/customers?page[number]=14&page[size]=10"
}
}
Remember that when you fetch a list of resources you get paginated result.
Sortable fields
The list of customers can be sorted by the following fields:
Attributes
email
status
total_orders_count
id
created_at
updated_at
reference
reference_origin
Relationships
customer_group
Filterable fields
The list of customers can be filtered by the following fields:
Attributes
email
status
total_orders_count
id
created_at
updated_at
reference
reference_origin
metadata
Relationships
customer_group
customer_addresses
customer_payment_sources
customer_subscriptions
order_subscriptions
returns
sku_lists
attachments
events
tags
Last updated