List customers
Returns customers for a shop, or for a whole seller across all of its shops.
shop_id and seller_id are both optional. If the token covers exactly
one shop, that shop is auto-resolved and results are scoped to it. If the
token covers multiple shops belonging to a single seller, omitting both
params returns customers across all of that seller’s shops. A token
covering multiple sellers (or a god token) must pass shop_id or
seller_id explicitly — there is no “all sellers” search.
GET
/customersAuthorization
AuthorizationBearer token (JWT) · headerrequiredQuery parameters
shop_idintegerID of the shop whose contacts to list. Optional if the token covers exactly one shop, or if `seller_id` is given instead.
seller_idintegerID of the seller whose contacts to list, across all of its shops. Only needed when `shop_id` is omitted and the token covers more than one shop or seller.
qstringFull-text search across name and email.
customer_statusstringFilter by customer account status.
Allowed:
publicprivatependingtagsstringComma-separated tag names.
opt_inbooleanpageintegermin 1 · default: 1
per_pageintegermin 1 · max 200 · default: 20
created_on_gtestring<date-time>Contacts created on or after this ISO 8601 timestamp.
created_on_ltestring<date-time>Contacts created on or before this ISO 8601 timestamp.
sortstringSort order for results.
default: "created_on_desc"
Allowed:
created_on_asccreated_on_descname_ascname_descResponses
200Paginated list of contacts
total_itemsintegerper_pageintegerpageinteger_linksHalLinks_classstring[]_embeddedobjectShow propertiesHide properties
contactsContact[]Show propertiesHide properties
Array of
Contact_linksHalLinksidintegershop_idintegeremailstringnamestringFull name (first and last)
phone_numberstringphone_validatedbooleanvalidation_methodstringcompany_namestringcompany_id_numberstringCompany tax/ID number (RUT, DNI, etc.), formatted
company_activity_codestringcustomer_statusstringCustomer account status.
Allowed:
publicprivatependingopt_inbooleanWhether the contact has opted in to marketing emails.
sourcestringlast_logged_onstring<date-time>last_ip_addressstringhas_passwordbooleantotal_spentintegerIn cents
available_orders_countintegersalesperson_idintegerfavorite_product_idsinteger[]used_promotion_idsinteger[]tagsstring[]created_onstring<date-time>updated_onstring<date-time>_embeddedobjectShow propertiesHide properties
contact_groupobjectPresent when the contact belongs to a group
addressesAddress[]Show propertiesHide properties
Array of
Addressstreetstringstreet_2stringlocality_namestringregion_namestringcountry_namestringpostal_codestring403Access denied
422`shop_id` or `seller_id` required — the token covers more than one shop and more than one seller (or is a god token), so neither can be auto-resolved.
Request
curl -X GET "https://api.onbolder.com/v2/customers" \
-H "Authorization: Bearer YOUR_TOKEN"const response = await fetch("https://api.onbolder.com/v2/customers", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_TOKEN"
}
});import requests
response = requests.get(
"https://api.onbolder.com/v2/customers",
headers={
"Authorization": "Bearer YOUR_TOKEN"
},
)Response
{
"_class": [
"results",
"customers"
],
"total_items": 1,
"per_page": 20,
"page": 1,
"_links": {
"self": {
"href": "https://api.onbolder.com/v2/customers?shop_id=1"
},
"customers:authenticate": {
"href": "https://api.onbolder.com/v2/customers/sessions",
"method": "post"
},
"customers:reset_password": {
"href": "https://api.onbolder.com/v2/customers/reset_password",
"method": "post"
}
},
"_embedded": {
"items": [
{
"id": 3001,
"shop_id": 1,
"email": "jane@example.com",
"name": "Jane Smith",
"customer_status": "private",
"phone_validated": false,
"created_on": "2024-03-10T11:00:00Z",
"_links": {
"self": {
"href": "https://api.onbolder.com/v2/customers/3001"
},
"orders": {
"href": "https://api.onbolder.com/v2/orders?shop_id=1&contact_email=jane@example.com"
}
}
}
]
}
}Access denied
`shop_id` or `seller_id` required — the token covers more than one shop and more than one seller (or is a god token), so neither can be auto-resolved.