API reference
Unsubscribe
One-click and confirmed unsubscribe from our own email.
POST
/v1/unsubscribe/confirmUnsubscribe from the confirmation page
What the button on /unsubscribe calls. Same effect as one-click; separate route so the two sources can be told apart afterwards.
Needs: Nothing. This route is public.
| Field | Type | What it is |
|---|---|---|
| token required | string | The token from the unsubscribe link. |
| Status | Body | When |
|---|---|---|
| 200 | UnsubscribeResultDto | |
| 400 | — | The link is not valid. |
| Field | Type | What it is |
|---|---|---|
| email required | string | The address this link unsubscribes. |
| alreadyUnsubscribed required | boolean | True when the address was already on the suppression list. |
| unsubscribed required | boolean | Always true once the call succeeds — including when it was already done. |
POST
/v1/unsubscribe/one-clickOne-click unsubscribe (RFC 8058)
The POST target advertised in List-Unsubscribe. Unauthenticated, immediate and without confirmation. Idempotent: a repeat call succeeds.
Needs: Nothing. This route is public.
| Name | Where | Type | What it is |
|---|---|---|---|
| token required | query | string |
| Status | Body | When |
|---|---|---|
| 200 | UnsubscribeResultDto | |
| 400 | — | The link is not valid. |
| Field | Type | What it is |
|---|---|---|
| email required | string | The address this link unsubscribes. |
| alreadyUnsubscribed required | boolean | True when the address was already on the suppression list. |
| unsubscribed required | boolean | Always true once the call succeeds — including when it was already done. |
GET
/v1/unsubscribe/statusLook up an unsubscribe token without spending it
Lets the confirmation page name the address before anything happens. A GET must never unsubscribe: link scanners, antivirus proxies and inbox previews fetch URLs on the recipient behalf, and an opt-out performed by a crawler is an opt-out the recipient never chose.
Needs: Nothing. This route is public.
| Name | Where | Type | What it is |
|---|---|---|---|
| token required | query | string |
| Status | Body | When |
|---|---|---|
| 200 | UnsubscribeStatusDto | |
| 400 | — | The link is not valid. |
| Field | Type | What it is |
|---|---|---|
| email required | string | The address this link unsubscribes. |
| alreadyUnsubscribed required | boolean | True when the address was already on the suppression list. |
Next groupHealth