Skip to content

Delete a customer

DELETE
/customers/{id}

Permanently erases the customer’s personal details. This cannot be undone.

  • Sets deleted_at and scrubs PII (name, email, phone, address and the rest).

  • Scrubs customer_code too, replaced by a deleted+<id> placeholder, so a customer can no longer be looked up by the code you created them with.

  • Bumps version so the tombstone reaches the next delta-sync poll.

  • Sale history survives: every past sale still resolves, shown against the anonymized customer.

  • 409 CONFLICT: the walk-in system customer cannot be deleted.

  • 404 NOT_FOUND: a foreign, unknown, or already-deleted id.

Requires scope: customers:write

Delete a customer

Media typeapplication/json

No content.

object
Examplegenerated
{}

An error response.

Media typeapplication/json
object
error
required
object
code
required

A machine-readable error code, e.g. VALIDATION_FAILED.

string
Allowed values: UNAUTHORIZED PLAN_REQUIRED INSUFFICIENT_SCOPE NOT_FOUND VALIDATION_FAILED CONFLICT STALE_VERSION RATE_LIMITED IDEMPOTENCY_KEY_REUSED IDEMPOTENCY_IN_PROGRESS IMAGE_FETCH_FAILED UNPROCESSABLE INTERNAL RETAILER_CANCELLED RETAILER_SUSPENDED RETAILER_NOT_FOUND TRIAL_DECISION_REQUIRED PLAN_USERS_EXCEEDED RETAILER_PAUSED PRODUCT_LIMIT_REACHED NOT_STOCK_TRACKED REASON_DIRECTION_MISMATCH REASON_NOT_ALLOWED INSUFFICIENT_STOCK OUTLET_DELETED
fields
Array<object>
object
field
required
string
message
required
string
message
required

A plain-English sentence describing what went wrong.

string
Example
{
"error": {
"code": "UNAUTHORIZED"
}
}