Skip to main content
Use this endpoint to create a new customer record scoped to your merchant account. The endpoint behaves as an upsert: if a customer with the given externalId already exists under your account, the API returns that existing record rather than creating a duplicate. This makes it safe to call on every checkout or sign-in flow without needing to track whether you have already registered a customer.
The externalId is your primary deduplication key. Choose a stable, unique identifier from your own system — such as a database user ID — and use it consistently across requests.

Headers

string
required
Your secret API key. Keep this value server-side and never expose it in client code.
string
required
A unique string you generate per request. Reuse the same key to safely retry a failed request without creating a duplicate customer record.
string
required
Must be application/json.

Body

string
required
Your own unique identifier for this customer. Must be between 1 and 255 characters. This value is used for deduplication — if a customer with this externalId already exists, their record is returned.
string
Customer’s email address. Must be a valid email format. Optional, but recommended for receipt delivery and dispute resolution.
object
Arbitrary key-value pairs you want to attach to the customer record. Useful for storing plan tier, region, or any other context relevant to your integration.

Response

object