Get a customer
Gets one customer. Use expand to include the customer's payment_methods, payments, refunds, orders, subscriptions, invoices or balance in full.
Secret tokens, and limited tokens tied to the customer. With a token from a customer login, send me as the id.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
customer_id*stringThe id of the customer. With a limited token from a customer login you can send me instead.
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.
falseThe customer.
application/json- response
A customer: the person or company who buys. Holds contact details, the billing and shipping address, an optional username for sign-in, and links to the customer's payment methods, store credit and history.
The links (payment_methods, payments, refunds, orders, subscriptions, invoices, balance) are only present when your token may read that resource. Send expand to get any of them in full. In a list of customers, orders is left out and payments, refunds, subscriptions and invoices are never expanded.
object*"customer"The object type. Always customer.
"customer"url*stringThe full URL of the customer.
customer_id*stringThe id of the customer.
date_created*stringWhen the customer was created.
date-timedate_modified*stringWhen the customer was last changed.
date-timeaccount_id*stringThe id of the account the customer belongs to.
test*booleanTrue for a test customer, false for a live one.
company_name*|The customer's company name.
name*|The customer's name.
email*|The customer's email address.
emailphone*|The customer's phone number.
billing_address*A postal address, as it comes back on a customer (billing_address, shipping_address), on a saved card or wallet, and on the customer of a cart, invoice or order. An address that was never set still comes back as an object, with every field null.
shipping_address*A postal address, as it comes back on a customer (billing_address, shipping_address), on a saved card or wallet, and on the customer of a cart, invoice or order. An address that was never set still comes back as an object, with every field null.
username*|The username the customer signs in with (see Log in a customer). Always lower case. The password is never returned.
tax_number*|The customer's tax or VAT number.
tax_exempt*booleanTrue when no tax is charged to the customer. For a customer in an EU country (not GB), this is true exactly when a valid VAT number is on file.
has_payments*booleanTrue once the customer has made at least one successful payment.
locale*|The customer's language and region, for example en-US. Used for the emails the customer gets.
meta*unknownYour own data for this customer, as an object or a string.
payment_methods?|The URL of the customer's saved payment methods, or the list itself when expanded.
payments?|The URL of the customer's payments, or the list when expanded.
refunds?|The URL of the customer's refunds, or the list when expanded.
orders?|The URL of the customer's orders, or the list when expanded. Not present in a list of customers.
subscriptions?|The URL of the customer's subscriptions, or the list when expanded.
invoices?|The URL of the customer's invoices, or the list when expanded.
balance?|The URL of the customer's store credit balance, or the balance itself when expanded.
formatted?Only when you send formatted=true. Dates as display text.
curl -X GET 'https://api.comecero.com/api/v1/customers/string'{ "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": "555-555-0123", "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": "johndoe", "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", "orders": "https://api.comecero.com/api/v1/customers/0091304300408CuoxY9Pf3/orders", "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"}Email a sign-in link POST
Emails a customer a link that signs them in to your app without a password, for example to see past orders and downloads. The customer is found by email address. When several customers of the account have that email, the newest gets the link and the email offers the others too (up to 10). The link opens `https://<your app host>/link` and works for 4 hours. The account needs an app host in its technical settings and a notification set up for customer links, or the call fails with `422`. No token is needed. Every input is in the query string; there is no body.
Update a customer POST
Changes a customer. Only the fields you send change; send an address as `null` to clear it. Changing the country or VAT number can change whether tax is charged on the customer's next cart, invoice or renewal. Secret tokens, and limited tokens tied to the customer. A limited token cannot set `tax_exempt`. No email is sent and no event fires.