Update Subscribe Status
Subscribes or unsubscribes a contact at the project level: the master switch that overrides every per-type preference, and what an unsubscribe link should call. Unsubscribing records the reason as manual. Pass encrypted: true with the token from an emailed link to apply the change to every contact sharing that address. A raw distinct ID only updates that one contact. Note this endpoint does not verify the contact exists; it writes the properties either way.
Authorization
Authorization In: header
Path Parameters
ID of the project that owns the contact.
Request Body
application/json
Distinct ID of the contact. Pass the encrypted form and set encrypted when calling from an emailed link.
Set when contactDistinctId is the encrypted value from an emailed link, so the server decrypts it before writing.
true to subscribe the contact, false to unsubscribe them from all email.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://www.saasco.com/api/v2/projects/string/crm/contact-notification-preferences/subscribe-status" \ -H "Content-Type: application/json" \ -d '{ "contactDistinctId": "string", "subscribed": true }'{
"subscribed": true
}{
"code": "BAD_REQUEST",
"message": "Invalid input data",
"issues": []
}{
"code": "UNAUTHORIZED",
"message": "Authorization not provided",
"issues": []
}{
"code": "FORBIDDEN",
"message": "Insufficient access",
"issues": []
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error",
"issues": []
}Subscribe Status
Reports whether a contact is subscribed at the project level: the master switch that overrides every per-type preference. Public and unauthenticated so an unsubscribe page can show current state before the contact acts.
List Custom Links
Lists the project's custom contact links: the templates, not the resolved URLs for any particular contact.