Documentation Index
Fetch the complete documentation index at: https://help.privy.com/llms.txt
Use this file to discover all available pages before exploring further.
2026-05-12
Consent vocabulary and PATCH-based consent management
Breaking changes:- Response field renames. Contact responses now return
email_consentandsms_consentinstead ofemail_permissionandphone_permission. - Filter parameter renames. The
GET /v1/contactsquery parametersemail_permissionandphone_permissionhave been renamed toemail_consentandsms_consent. - New consent values. The old
non_subscribedvalue has been replaced bynever_subscribed. New values have been added — see below.
- Consent management via PATCH.
PATCH /v1/contacts/{id}now acceptsemail_consentandsms_consentfields. You can combine consent changes with other field updates in a single request. - Consent on create.
POST /v1/contactsnow accepts the full set of writable consent values foremail_consentandsms_consent. - Expanded email consent values:
subscribed— contact opted into email.unsubscribed— contact opted out of email.never_subscribed— no opt-in, no opt-out (replacesnon_subscribed).suppressed— merchant-suppressed (writable). Writing any consent value to a merchant-suppressed contact unsuppresses it first.compliance_suppressed— system-suppressed (read-only, filterable). Any write to a compliance-suppressed contact returns422.
- Expanded SMS consent values:
subscribed— contact has confirmed SMS opt-in.unsubscribed— contact opted out of SMS.never_subscribed— no opt-in, no opt-out (replacesnon_subscribed).single_opt_in— merchant collected a single opt-in (not yet confirmed). Writable; requires a phone number.pending— awaiting confirmation reply (read-only, filterable).
POST /v1/contacts/{id}/unsubscribeis deprecated. UsePATCH /v1/contacts/{id}withemail_consent: "unsubscribed"instead. The endpoint continues to work but now returnsDeprecation: trueandLinkheaders.