Scope requirements
Scope requirements
Get subscription types
If you’re building an external preferences center, integration, or form that displays subscription options, use this endpoint to retrieve all subscription types in your account. Make aGET request to /communication-preferences/v3/definitions.
The response will include an array of subscription definitions in the subscriptionDefinitions field. You’ll need the id value from each definition when subscribing or unsubscribing a contact.
Get contact subscription status
To look up the current subscription statuses for a specific email address, make aGET request to /communication-preferences/v3/status/email/{emailAddress}, where {emailAddress} is the contact’s email address. This is useful for populating an external preferences center or keeping an integration in sync with a contact’s current opt-in state.
The response will include the recipient email address and a subscriptionStatuses array containing the contact’s status for each subscription type.
status field in each object indicates whether the contact is currently opted in (SUBSCRIBED) or opted out (NOT_SUBSCRIBED) for that subscription type. The sourceOfStatus field indicates what determined the status: SUBSCRIPTION_STATUS (individual subscription preference), PORTAL_WIDE_STATUS (contact opted out of all email), or BRAND_WIDE_STATUS (contact opted out of all email from a specific brand).
Subscribe a contact
Use this endpoint to opt a contact into a subscription type from an external integration or form. Make aPOST request to /communication-preferences/v3/subscribe.
Only use the subscribe endpoint to honor requests from contacts who have given you explicit permission. Please review applicable laws and regulations before subscribing a contact.
| Parameter | Type | Description |
|---|---|---|
emailAddress | string | The email address of the contact to subscribe. |
subscriptionId | string | The ID of the subscription type. Retrieve available IDs by making a GET request to /communication-preferences/v3/definitions. |
legalBasis | string | The legal basis for subscribing the contact. Accepted values: CONSENT_WITH_NOTICE, LEGITIMATE_INTEREST_CLIENT, LEGITIMATE_INTEREST_OTHER, LEGITIMATE_INTEREST_PQL, NON_GDPR, PERFORMANCE_OF_CONTRACT, PROCESS_AND_STORE. |
legalBasisExplanation | string | A plain-text explanation for the legal basis provided. |
Unsubscribe a contact
Use this endpoint to opt a contact out of a subscription type from an external integration or form. Make aPOST request to /communication-preferences/v3/unsubscribe.
| Parameter | Type | Description |
|---|---|---|
emailAddress | string | The email address of the contact to unsubscribe. |
subscriptionId | string | The ID of the subscription type. Retrieve available IDs by making a GET request to /communication-preferences/v3/definitions. |
legalBasis | string | The legal basis for unsubscribing the contact. Accepted values: CONSENT_WITH_NOTICE, LEGITIMATE_INTEREST_CLIENT, LEGITIMATE_INTEREST_OTHER, LEGITIMATE_INTEREST_PQL, NON_GDPR, PERFORMANCE_OF_CONTRACT, PROCESS_AND_STORE. |
legalBasisExplanation | string | A plain-text explanation for the legal basis provided. |