Skip to main content
A suppression is a recipient address we refuse to send to. Suppressions protect your sender reputation — repeated bounces to an invalid address tank your deliverability for every other recipient on the same domain.

Auto-suppression

We automatically suppress on:
TriggerSource
Hard bounceSES bounce notification → email.bounced webhook → suppression added
Complaint (spam report)SES complaint notification → email.complained webhook → suppression added
These happen within seconds of the bounce/complaint event. The next attempt to send to that address returns address_suppressed.

Manual suppressions

Add an address you know is bad:
await pm.suppressions.add({
  email: 'bad-address@example.com',
  reason: 'manual',
});
Or import in bulk from the dashboard (Email → Suppressions → Import CSV).

List & remove

const { data } = await pm.suppressions.list();
for (const s of data) console.log(s.email, s.reason, s.created_at);

await pm.suppressions.remove('bad-address@example.com');
Removing a suppression means future sends go through. If the address was auto-suppressed for bouncing, you’ll likely bounce again and hurt your sender reputation. Only remove if you have strong evidence the recipient is valid (they confirmed via another channel).

Project vs global

  • Project suppressions — scoped to one project. Reset if you delete the project.
  • Global suppressions — apply across all your projects. Added by our anti-abuse team for repeat offenders. You can’t remove these from the API; contact support.

Why it matters

Every major ISP (Gmail, Outlook, Yahoo) measures your bounce rate. Once you exceed ~5% bounces over any 24h window, you’re penalized — mail ends up in spam, then refused entirely. Auto-suppression is the one thing that keeps new senders out of trouble without manual curation.