Guides
Suppressions
Hard bounces, spam complaints and unsubscribes are suppressed automatically, account-wide. How suppression affects sends and how to manage the list.
The suppression list holds addresses Pidgely won't deliver to. It protects your sender reputation: sending again to an address that bounced or complained is the fastest way to land in spam.
What gets suppressed
| Origin | Added when |
|---|---|
bounce |
A hard bounce: the receiving server rejected the address permanently (SMTP 5xx that isn't a policy block or a full mailbox), or an asynchronous bounce report (DSN) arrived |
complaint |
The recipient marked a message as spam (feedback loop) |
unsubscribe |
The recipient used a one-click unsubscribe link, or you set a contact to unsubscribed: true |
manual |
You added the address (POST /suppressions) |
Temporary failures (soft bounces, full mailboxes) and blocks caused by reputation or policy are retried, not suppressed. There is no soft-bounce counter. See Hard vs soft bounces.
How it affects sending
- The list is per account and covers every stream: an address that unsubscribed from a broadcast is also skipped for transactional mail.
- Sends to a suppressed address are accepted, not rejected: that recipient ends as
suppressed, emitsemail.suppressedand does not count toward your quota. The rest of the email is delivered normally. - The list is checked when you send and again before each delivery attempt.
- An address is suppressed once: the first origin recorded wins, and adding it again is a no-op.
Managing the list
| Task | Endpoint |
|---|---|
List, optionally ?origin=bounce |
GET /suppressions |
| Look up by id or email | GET /suppressions/{id_or_email} |
| Add one / up to 100 | POST /suppressions, POST /suppressions/batch/add |
| Remove one / up to 100 | DELETE /suppressions/{id_or_email}, POST /suppressions/batch/remove |
Batch add is not atomic: it stops at the first invalid address and keeps those added before it. Batch remove skips entries that don't exist.
Removing an unsubscribe suppression re-subscribes the matching contact.