Suppression events
Suppressions created, updated or deleted.
suppression.created
Sent when a suppression is added with Create a suppression, a CSV import in the dashboard, or an automation’s Add to suppressions step. Suppressions that Emailit adds automatically after bounces and complaints don’t send this event; listen for email.bounced and email.complained instead.
Webhook requests carry a JSON array of events like this one; see Webhook requests.
Fields
event_idstringEvent ID (evt_…). A retried request carries the same ID, so use it to skip events you already handled. You can also look the event up with Retrieve an event.
typestringAlways suppression.created.
objectobjectThe suppression the event describes. Its fields are listed below.
data.objectobjectThe same object again, in the shape that the Events API returns in data.
Suppression object
idstringSuppression ID (sup_…).
objectstringAlways suppression.
emailstringSuppressed address, in lowercase.
typestringrecipient, bounce, complaint or unsubscribe. Only recipient suppressions stop API and SMTP sends; campaigns skip every type.
reasonstring | nullReason for the suppression.
created_atstringWhen the suppression was created, in ISO 8601 with a UTC offset.
keep_untilstring | nullWhen the suppression expires, or null if it’s permanent.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "suppression.created",
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "manual",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
},
"data": {
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "manual",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
}
}
}suppression.updated
Sent when a suppression changes with Update a suppression.
Webhook requests carry a JSON array of events like this one; see Webhook requests.
Fields
event_idstringEvent ID (evt_…). A retried request carries the same ID, so use it to skip events you already handled. You can also look the event up with Retrieve an event.
typestringAlways suppression.updated.
objectobjectThe suppression the event describes. Its fields are listed below.
data.objectobjectThe same object again, in the shape that the Events API returns in data.
Suppression object
idstringSuppression ID (sup_…).
objectstringAlways suppression.
emailstringSuppressed address, in lowercase.
typestringrecipient, bounce, complaint or unsubscribe. Only recipient suppressions stop API and SMTP sends; campaigns skip every type.
reasonstring | nullReason for the suppression.
created_atstringWhen the suppression was created, in ISO 8601 with a UTC offset.
keep_untilstring | nullWhen the suppression expires, or null if it’s permanent.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "suppression.updated",
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "Asked to pause invoices until January",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": "2027-01-01T00:00:00.000000+00:00"
},
"data": {
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "Asked to pause invoices until January",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": "2027-01-01T00:00:00.000000+00:00"
}
}
}suppression.deleted
Sent when a suppression is deleted with Delete a suppression. An expired suppression stays in the list and doesn’t send this event, and neither does an automation’s Remove from suppressions step.
Webhook requests carry a JSON array of events like this one; see Webhook requests.
Fields
event_idstringEvent ID (evt_…). A retried request carries the same ID, so use it to skip events you already handled. You can also look the event up with Retrieve an event.
typestringAlways suppression.deleted.
objectobjectThe suppression the event describes. Its fields are listed below.
data.objectobjectThe same object again, in the shape that the Events API returns in data.
Suppression object
idstringSuppression ID (sup_…).
objectstringAlways suppression.
emailstringSuppressed address, in lowercase.
typestringrecipient, bounce, complaint or unsubscribe. Only recipient suppressions stop API and SMTP sends; campaigns skip every type.
reasonstring | nullReason for the suppression.
created_atstringWhen the suppression was created, in ISO 8601 with a UTC offset.
keep_untilstring | nullWhen the suppression expires, or null if it’s permanent.
{
"event_id": "evt_2xLc9Rr4Tn6Wb1Qm8Ks3Vf0Hd7a",
"type": "suppression.deleted",
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "manual",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
},
"data": {
"object": {
"id": "sup_2xL1c8NqT4pWm6Rb0YsKd3HvF9e",
"object": "suppression",
"email": "ada@example.com",
"type": "recipient",
"reason": "manual",
"created_at": "2026-10-01T09:30:12.481000+00:00",
"keep_until": null
}
}
}