Confirm unsubscribe
Overview
Confirm an email unsubscribe. Safe to call repeatedly for the same address. On success the decoded email is added to the blacklists suppression table (type=email, event=unsub, source=unsubscribe, plus the token's company_id) so the email dispatcher never sends to it again. An audit event is logged. A generic the endpoint returns 404 for any invalid/expired token.
Prerequisites
- No authentication — this endpoint is public.
- The
unsubscribeTokenof the record you are targeting.
Base URL
| Environment | URL |
|---|---|
| Production | https://production-api.shoutaboutus.com |
| Development | https://development-api.shoutaboutus.com |
Endpoint
POST /api/v1/campaign/email/unsubscribe/{unsubscribeToken}
Authentication
-
No bearer token required.
-
Public — no bearer token (unauthenticated
campaigngroup; item markednoauth). Posted from the unsubscribe confirmation page.
Rate limit
- 30 requests/min per IP (public).
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
unsubscribeToken | string | Required | Identifier for the record you are targeting. |
Request
- None. The recipient email + company id are carried inside the encrypted
{token}path segment.
How it works
- 200
{ status: "success", message: "You have been unsubscribed." }(same response whether the address was newly added or already present). - 404 (
notFoundResponse) "Invalid or expired unsubscribe link." for any bad/expired token. - 500 (
defaultErrorResponse) on unexpected error.
Response
200 OK · 200
200{
"data": {
"status": "success",
"message": "You have been unsubscribed."
}
}404 Invalid token · 404
404{
"status": "error",
"message": "Invalid or expired unsubscribe link.",
"errors": []
}Errors
| Status | Meaning |
|---|---|
404 | Invalid token |
500 | Unexpected server error |
Example request
curl --request POST \
--url "https://production-api.shoutaboutus.com/api/v1/campaign/email/unsubscribe/<unsubscribeToken>" \
--header 'Accept: application/json'Updated 10 days ago
Did this page help you?
