Skip to main content
POST
Find-or-create customer + enrolment (no transaction)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string

Replay-safe request key. Repeated requests with the same value within 24h return the original response unchanged.

Maximum string length: 255

Body

application/json
identifier
object
required

Customer identifier block. At least ONE field must be present. Resolution order is fixed: card_serial → external_ref → email → phone. First match wins.

card_id
string
create_customer_if_missing
boolean
default:true
customer_fields
object

Fields used when create_customer_if_missing is true and no existing customer matches the identifier.

source
string

Free-text marketing source ("shopify_checkout", "toast_guest_create"). Surfaced on the CUSTOMER_ENROLLED webhook payload.

Maximum string length: 60

Response

Existing enrolment returned

customer
object
enrollment
object
wallet_passes
object | null
customer_created
boolean
enrollment_created
boolean