List customers
Lists the customers of your account, oldest first. Search with q and filter by date or by whether the customer has paid.
The list is cursor-based: follow next_page_url, or send after_item or before_item. It does not take sort_by; use date_type with desc.
Secret tokens only. A limited token cannot list customers.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
limit?integerHow many items to return on one page, from 1 to 100. The default is 100. A value outside 1 to 100, or one that is not a whole number, is a 400.
1 <= value <= 100100after_item?stringFor cursor-based lists, return the items after the item with this id. Use next_page_after_item (or follow next_page_url) from the page you have. You cannot send it together with before_item (400). An id that does not exist is a 404.
before_item?stringFor cursor-based lists, return the items before the item with this id. Use previous_page_before_item (or follow previous_page_url) from the page you have. You cannot send it together with after_item (400). An id that does not exist is a 404.
desc?booleanSort in descending order (newest, largest or last first) when true. The default is false. A value other than true or false is a 400.
falsedate_start?stringOnly items on or after this date. Send ISO 8601 (2026-11-01T00:00:00Z or 2026-11-01T00:00:00-05:00) or a shorthand: 2026 means the start of 2026, 2026-11 the start of November, 2026-11-01 the start of that day. A date with no offset is read in timezone, or in the account's time zone when you send none. It must not be after date_end (400).
date_end?stringOnly items on or before this date. Same formats as date_start, but a shorthand means the end of the period: 2026-11 is the last instant of November, 2026-11-30 the last instant of that day. A date with no offset is read in timezone, or in the account's time zone when you send none.
date_type?stringWhich date date_start, date_end and the order of the list use.
"date_created""date_created""date_modified"timezone?stringAn IANA time zone name, such as America/New_York or UTC. It sets how date_start and date_end are read and the time zone of every date in the response. The default is the account's time zone (Settings, Technical), or UTC when it has none. A name that is not known is a 400.
expand?stringComma-separated child objects to return in full instead of as a URL, for example customer,payments. Use dot notation for nested objects (items.product), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See Expanding objects.
show?stringComma-separated fields to return; all others are left out. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
hide?stringComma-separated fields to leave out of the response. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
formatted?booleanWhen true, the object also has a formatted child with amounts and dates as display text in the shopper's language and currency (for example $19.99 or November 7, 2026). The default is false. See Localized formatting.
falseq?stringSearch text. Matches part of the name or company name, or the whole email, customer id or username.
has_payments?booleantrue for only customers who have made a successful payment, false for only those who have not.
A page of customers.
application/json- response
A cursor-based list of customers.
next_page_url*|The URL of the next page, or null on the last page.
next_page_after_item*|The after_item value for the next page.
previous_page_url*|The URL of the previous page, or null on the first page.
previous_page_before_item*|The before_item value for the previous page.
current_page_url*stringThe URL of this page.
data*array<>The customers on this page.
curl -X GET 'https://api.comecero.com/api/v1/customers'{ "next_page_url": "https://api.comecero.com/api/v1/customers?after_item=0091304300408CuoxY9Pf3", "next_page_after_item": "0091304300408CuoxY9Pf3", "previous_page_url": null, "previous_page_before_item": null, "current_page_url": "https://api.comecero.com/api/v1/customers?limit=1", "data": [ { "object": "customer", "url": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3", "customer_id": "0091304300408CuoxY9Pf3", "date_created": "2026-11-02T18:18:20Z", "date_modified": "2026-11-02T18:18:20Z", "account_id": "AB1234", "test": true, "company_name": null, "name": "John Doe", "email": "john@example.com", "phone": null, "billing_address": { "object": "address", "name": "John Doe", "address_1": "123 Main St.", "address_2": null, "city": "New York", "state_prov": "NY", "postal_code": "10019", "country": "US", "email": "john@example.com", "meta": null }, "shipping_address": { "object": "address", "name": null, "address_1": null, "address_2": null, "city": null, "state_prov": null, "postal_code": null, "country": null, "email": null, "meta": null }, "username": null, "tax_number": null, "tax_exempt": false, "has_payments": true, "locale": "en-US", "meta": null, "payment_methods": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/payment_methods", "payments": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/payments", "refunds": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/refunds", "subscriptions": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/subscriptions", "invoices": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/invoices", "balance": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/balance" } ]}Overview
Previous Page
Create a customer POST
Creates a customer. Every field is optional, so you can send an empty body and fill the customer in later. Give the customer a `username` and `password` so they can sign in later (see Log in a customer). Secret and limited tokens. A customer created with a limited token is tied to that token, so it can read and update the customer. A limited token cannot set `tax_exempt`. You cannot add cards here: save them with Add a payment method, or with a payment that has `save: true`. Sending `cards` is a `400`. No email is sent and no event fires.