LiveRecoverVYG Developer Docs
CDP REST APIAPI Reference

Anonymize Profile (GDPR)

Strip personal identifiers from one of your brand's profiles, keeping its behavioral data.

POST /cdp/profiles/{id}/anonymize strips the personal-identifier properties (email, phone, name, …) from ONE profile while KEEPING its behavioral and event history — the "forget who, keep the behavior" half of the privacy toolkit.

This is IRREVERSIBLE — the removed identifiers cannot be restored. To guard against an accidental call you MUST send { "confirm": true } in the body; without it the request is rejected before anything changes. A missing or out-of-scope profile returns 404 with zero effect. The route is tightly rate-limited and every anonymization writes an immutable audit record.

Every anonymize is bound to your brand's shop scope. See Tenant Isolation & Scope.

Query parameters

ParameterTypeRequiredDefaultDescription
profileIdstringYesPath parameter ({id}) — the Unomi profile id to anonymize. (Not a query parameter.)
confirmtrueYesBody field — REQUIRED, must be true. Acknowledges the IRREVERSIBLE effect; the request is rejected without it.

Response

The 200 response body:

FieldTypeDescription
profileIdstring
status'anonymized'
scopestringYour brand's resolved shop domain.

Errors

All errors share the standard envelope { "error": string, "error_description": string }.

StatusCodeWhen
400bad_requestThe confirm:true guard is missing, the body is not valid JSON, or the input failed validation.
401unauthorizedMissing or invalid API credential.
403forbiddenNo connected Shopify integration resolves a scope for the brand.
404not_foundNo such profile in your brand scope (missing or out-of-scope).
405method_not_allowedThe request used a method other than POST.
429rate_limitedToo many privacy requests for this brand — retry shortly.
502upstream_errorThe CDP rejected the anonymize.
503upstream_unavailableThe CDP is temporarily unavailable — retry.
500internal_errorAn unexpected error prevented the anonymize.

On this page