Suppressions
Addresses that hard-bounced or reported spam are recorded and refused on subsequent sends, with recipient_suppressed.
Scoped to your organization
Your suppression list is yours alone. An address another customer burned stays deliverable for you, and one of your bounces never affects anybody else. This isolation is the reason the product exists — on a shared list, one careless tenant degrades everyone.
Why an address is suppressed
bounce— a permanent delivery failure. The mailbox does not exist, or the domain does not resolve. Added automatically.complaint— the recipient marked your mail as spam. Added automatically, and worth investigating rather than removing.manual— you added it, e.g. honouring an unsubscribe outside our system.
Transient failures never suppress. A full mailbox or a greylisted message is retried, because blocking an address permanently for a temporary condition loses real mail.
List
{
"data": [
{
"address": "old@example.com",
"reason": "bounce",
"source": "ses",
"expiresAt": null,
"createdAt": "2026-07-20T09:14:00.000Z"
}
]
}Add
{ "address": "user@example.com", "reason": "manual" }expiresAt is optional; omit it for a permanent entry. Use this to honour unsubscribes recorded elsewhere in your product.
Remove
Think before removing a bounce
Removing a hard bounce means you will mail an address that has already told you it does not exist. It will bounce again, and repeated hard bounces are the fastest way to damage a sending reputation. Only do this when you have evidence the mailbox was restored.
Removing a complaint is worse: the recipient explicitly reported your mail as spam.
Removals apply to the upstream provider’s list as well as ours, so the address is genuinely mailable again.
Keeping the rate down
Aim for a hard bounce rate under 2% and a complaint rate under 0.1%. Sustained breaches pause your organization automatically. Validate addresses at signup, use double opt-in, and stop mailing people who never open anything.