Suppressions
Bounced and complained addresses are added to your suppression list automatically, and every send
is checked against it; a suppressed recipient is rejected before anything leaves (400 with the
address in the message), and scheduled mail is re-checked at send time, so a recipient who
bounces between scheduling and the send date is never mailed.
Scope by reason
Section titled “Scope by reason”Suppression scope depends on the entry’s reason and the send’s message stream:
| Reason | Blocks |
|---|---|
bounce, complaint, manual |
Every stream |
unsubscribe |
Broadcast streams only; transactional mail still delivers |
Managing the list
Section titled “Managing the list”# Add onecurl https://api.sendsignal.dev/suppressions \ -H "Authorization: Bearer ss_..." -H "Content-Type: application/json" \ -d '{"email": "user@example.com", "reason": "manual"}'
# Add manycurl https://api.sendsignal.dev/suppressions/batch \ -H "Authorization: Bearer ss_..." -H "Content-Type: application/json" \ -d '{"emails": ["a@example.com", "b@example.com"], "reason": "manual"}'GET /suppressions: cursor-paginated list (default page size 50).DELETE /suppressions/{id}: remove an entry, e.g. after a recipient fixes a full mailbox.
When a send is blocked by a suppression at delivery time, the email’s status becomes
suppressed and an email.suppressed event fires.