Unsubscribe contact
POST/api/v1/contacts/{id}/unsubscribe
The person does not want any more mailings: the contact leaves all lists, gets the status unsubscribed and the address is suppressed.
Same as when the person unsubscribes themselves. Only the person can sign up again, by confirming by email. Does nothing if the contact is already unsubscribed.
Scope
contacts:writeEdit contacts – the person behind the key must be editor or higher.
Path parameters
idstringrequired- The contact's ID.
Retrying a request
Feel free to send the Idempotency-Key header (e.g. a UUID). If the same request is sent again with the same key within 24 hours, the first response is returned, without anything being done twice. Batch and idempotency
Response
200 The contact after the unsubscription.
idstringrequired- The contact's ID.
emailstringrequired- The email address (lower case). Never changes: consents and suppressions apply to the address.
first_namestring | nullrequiredlast_namestring | nullrequiredcompanystring | nullrequiredphonestring | nullrequired- In international format (E.164), e.g. +46701234567.
statusstringrequired- active: can receive mailings · unsubscribed: has unsubscribed from everything · bounced: the address bounces · complained: has reported spam · deleted: erased (GDPR), the personal data is gone.
activeunsubscribedbouncedcomplaineddeleted fieldsobject<string | number | boolean>required- Custom fields by key (see GET /fields). Sensitive fields, such as personal identity numbers, are never sent out.
tagsarray<string>requiredsourcestringrequired- How the contact was added: manual, import, form, api …
consentobjectrequiredconsent.atstring (time, ISO 8601) | nullrequired- When consent was given.
consent.sourcestring | nullrequired- How the person consented, in your own words.
suppressionobject | nullrequired- The workspace's suppression of the address. A suppressed address never receives mailings, regardless of status.
suppression.reasonstringrequired- unsubscribed, bounced, complained, manual or imported.
suppression.created_atstring (time, ISO 8601)required- When the address was suppressed.
sharedbooleanrequired- Shared from a level above in the organisation: can be read and receive mailings from here, but can only be changed where it belongs.
created_atstring (time, ISO 8601)required- When the contact was created.
updated_atstring (time, ISO 8601)required- When the contact was last changed.
unsubscribed_atstring (time, ISO 8601) | nullrequired- When the person unsubscribed.
listsarray<object>required- The workspace's lists that the contact is on. Empty for a shared contact.
lists[].list_idstringrequiredlists[].namestringrequiredlists[].statusstringrequired- subscribed: on the list · pending: waiting to confirm by email · unsubscribed: has left the list.
subscribedpendingunsubscribed lists[].subscribed_atstring (time, ISO 8601) | nullrequired- When the person joined the list.
Errors
- 404
- not_found
- 429
- rate_limited