Delete a customer (GDPR soft-delete)
Removes a customer. Two modes, selected by the mode query parameter.
mode=soft (THE DEFAULT)
A reversible hide. It does NOT redact anything:
deleted_atis set and the customer stops appearing inGET /v1/customersfirst_name,last_name,emailandphoneare RETAINED and still returned byGET /v1/customers/{id}statusis unchanged, andgdpr_redacted_atstaysnull- the transaction ledger is untouched
- re-enrolment is possible
If you are servicing a GDPR erasure request, this mode is NOT sufficient. You must pass ?mode=erase.
mode=erase
Irreversible GDPR erasure:
- personal data (
first_name,last_name,email,phone) is unset gdpr_redacted_atis stamped- the transaction ledger is preserved against an anonymised reference, so financial reporting, tax and POS reconciliation still resolve
Wallet passes are NOT revoked on the device
Neither mode removes a pass that the customer has already added to Apple Wallet or Google Wallet. There is no on-device revocation primitive today. voided_card_count counts the platform card records that were deactivated, NOT passes removed from devices.
Both modes emit customer.deleted.
Authorizations
Your secret API key as a Bearer token: Authorization: Bearer vxn_sk_.... Keys are created and scoped in the dashboard - see Authentication.
Headers
Recommended on PATCH and DELETE for safe retries.
8 - 255^[A-Za-z0-9_-]{8,255}$Path Parameters
Customer id with cus_ prefix.
^cus_[A-Za-z0-9]+$Query Parameters
soft (default): set deleted_at and hide the customer. PII is RETAINED and re-enrolment is possible. erase: irreversible GDPR erasure of PII. Neither mode removes a pass already on the customer's device.
soft, erase