Unsubscriptions API
Unsubscriptions record recipients who have opted out of emails. An unsubscription can be global (all triggers) or scoped to a specific trigger. All endpoints require authentication.
Unsubscription object
| Field | Type | Description |
|---|---|---|
id | Int | Unique identifier (read-only) |
email | String | Unsubscribed email address |
trigger_id | Int | Scoped trigger ID; 0 = global unsubscription from all triggers |
created_at | String | Creation timestamp (read-only) |
updated_at | String | Last update timestamp (read-only) |
When trigger_id is 0, the recipient is excluded from all Follow Up Email triggers. When set to a specific trigger ID, the exclusion applies only to that trigger.
List unsubscriptions
GET /rest/V1/mst-email/unsubscriptions
Find all unsubscriptions for a specific email:
GET /rest/V1/mst-email/unsubscriptions
?searchCriteria[filter_groups][0][filters][0][field]=email
&searchCriteria[filter_groups][0][filters][0][value][email protected]
&searchCriteria[filter_groups][0][filters][0][condition_type]=eq
Supports filtering and pagination.
Get unsubscription
GET /rest/V1/mst-email/unsubscriptions/:id
Response:
{
"id": 15,
"email": "[email protected]",
"trigger_id": 0,
"created_at": "2026-04-22 09:15:00",
"updated_at": "2026-04-22 09:15:00"
}
Errors: 404 unsubscription not found.
Create unsubscription
Use this to programmatically opt out a recipient — for example when syncing unsubscribes from an external system.
POST /rest/V1/mst-email/unsubscriptions
Request body (global unsubscription):
{
"unsubscription": {
"email": "[email protected]",
"trigger_id": 0
}
}
Request body (trigger-specific unsubscription):
{
"unsubscription": {
"email": "[email protected]",
"trigger_id": 5
}
}
Response: the created unsubscription object with id assigned.
Delete unsubscription
Removes the unsubscription record — this re-subscribes the recipient. Use with caution.
DELETE /rest/V1/mst-email/unsubscriptions/:id
Response:
true
Errors: 404 unsubscription not found.