contacts

Erase a contact (POPIA)

Anonymise a contact and its personal data for a POPIA erasure request.

Irreversible: personal data is scrubbed in place and cannot be recovered. The row is anonymised, not deleted, so counts and foreign keys survive.

Idempotent: re-erasing an already-erased contact returns the original erased_at with already_erased: true (and zeroed counts).

Works on soft-deleted contacts too (delete-then-erase is a valid order); counts reports how many related records were redacted per table (including active journey enrolments exited under journeyEnrolments, under leads the person's rows of the Leads tables, linked to them or naming them by email or number, and under commercePaymentEvents the payment events of their orders, cleared to their amounts, ids, statuses and dates).

post/api/v1/contacts/{id}/erase

Request

  • Base URL: https://app.blueticked.com
  • URL: https://app.blueticked.com/api/v1/contacts/{id}/erase
  • Auth: HTTP bearer

Path parameters

idstring required

The resource's unique identifier.

Response

Success

idstring uuid required
erased_atstring date-time required
already_erasedboolean required
request_idstring required

Example response

{
  "id": "ff506e53-e2f0-4d92-884a-dab77d628bad",
  "erased_at": "2026-07-01T08:00:00.000Z",
  "counts": {
    "conversations": 3,
    "conversationMessages": 41,
    "messages": 12,
    "leads": 1,
    "commerceOrders": 1,
    "commercePaymentEvents": 2,
    "contactNotes": 2,
    "journeyEnrolments": 1
  },
  "request_id": "req_b2e3d610e10f1b07468721ee98f0e1d2"
}

Changes

No recorded changes to this operation across all 1 revision of this API.