Skip to main content
Records a change to a contact’s consent: an opt-in, a stop, or back to the account’s default — for one channel or all of them, and for marketing, transactional messages or both. Every change is kept with its proof and never edited; a request that changes nothing records nothing. A change sends the consent.changed webhook event.
Needs the cdp.contacts:write scope.

Path parameters

Body

channel all with purpose all and status revoked stops everything, as a STOP ALL reply does. Send an Idempotency-Key header to record it once however often the request is retried.

Request

Response

200 OK — where the contact now stands, as GET answers.

Errors

Every refusal is {"error": {"code", "message", "field"}}; field is there when one input is at fault. Any request can also be refused for its key, its account or its rate (key_required, invalid_key, account_suspended, plan_excludes_api, address_not_allowed, rate_limited); see the overview.