Skip to main content

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

FieldTypeDescription
idIntUnique identifier (read-only)
emailStringUnsubscribed email address
trigger_idIntScoped trigger ID; 0 = global unsubscription from all triggers
created_atStringCreation timestamp (read-only)
updated_atStringLast 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.