RefreshDocsConsole →

Dashboard

Suppressions

Addresses the organization does not send to, why they are there, and how to add or remove one.

The platform checks the suppression list on every POST /emails. It drops matching recipients before it queues the message. They appear in the suppressed array of the response and as suppressed events. Broadcasts also skip them and count them in stats.suppressed.

Reasons

Reason Added by
HARD_BOUNCE The events pipeline, on a hard bounce (source: event:<id>).
COMPLAINT The events pipeline, on a spam complaint.
UNSUBSCRIBE A one-click / page unsubscribe on a message without a topic, or "Unsubscribe from all" on the preferences page.
MANUAL Someone in the console.

Scope

Each entry is either organization-wide (the default; applies to every domain) or scoped to one domain. Automatic entries are always organization-wide.

Adding and removing

Add suppression (Member+) asks for the email address, an optional domain scope, an optional note (stored as the source) and an optional expiry date. The platform refuses an address that already has an entry at that scope. After the expiry date the platform sends to the address again. Remove deletes the entry. Do this only when you know that the address is good again. A hard bounce puts it back.

Import and export

Import (Member+) takes CSV lines email[,domain][,note], up to 5,000 per run. The platform adds each address as MANUAL (or updates an existing entry) and reports the lines it skipped. Export CSV downloads the whole list with reason, scope, source, created and expiry columns. The API offers the same operations.

Soft-bounce escalation

A soft bounce (mailbox full, temporary failure) does not suppress an address by itself. The third soft bounce for the same address within 7 days does: the platform adds an organization-wide HARD_BOUNCE entry with the source soft-bounce-escalation.