Customers

Overview

Customers are the people who access your content and purchase subscriptions. Each customer has a profile with contact information, marketing preferences, and custom metadata. Customers can have multiple addresses, payment methods, and subscriptions.

Customers are scoped to your site - the same person with accounts on two different sites is treated as two separate customers.


How It Works

  1. Create a customer - Add a new customer with their email, name, and any custom metadata
  2. Enrich the profile - Add addresses, payment methods, and organization associations
  3. Subscribe - Create subscriptions and process payments for the customer

Example: A visitor registers on your site. You create a customer with their email and name. They add a credit card and subscribe to your premium plan. You store their company name in metadata for personalized communications.


API Endpoints

MethodEndpointDescription
GET/customersList customers
POST/customersCreate customer
GET/customers/{id}Get customer
PUT/customers/{id}Update customer
DELETE/customers/{id}Delete customer
POST/customers/credit_from_payment_methodCredit from payment method
DELETE/customers/{id}/metadata/{key}Delete customer metadata

Important Behaviors

  • Soft delete: Customers are soft-deleted. Deleting a customer cancels all active subscriptions and removes related addresses, payment methods, and memberships.
  • Email DNS validation: Email DNS validation can be skipped per request via the skip_email_dns_validations flag.
  • Expandable relationships: Multiple relationships can be expanded including subscriptions and addresses.
  • Stripe import: When import_payment_methods is true, a Stripe payment gateway ID is required on the account.

Customer Fields

FieldDescription
emailPrimary email address (unique per site)
first_name, last_nameCustomer's name
display_namePublic display name
usernameUnique username for login
phonePhone number
metadataCustom key-value data you define
organizationCompany or organization name
languagePreferred language (en, fr, it, ko, es)
timezoneCustomer's timezone

Marketing Consent

Track customer consent for communications:

FieldDescription
mail_marketingEmail marketing opt-in (true/false)
tele_marketingPhone marketing opt-in (true/false)

Expandable Relationships

When retrieving customers, you can include related data:

RelationshipDescription
addressesShipping and billing addresses
defaultSourceDefault payment method
organizationAssociated organization details
subscriptionsActive and past subscriptions

Use the expand parameter: ?expand=addresses,subscriptions