# Suppressions

> How Emailit's suppression list stops mail to addresses that bounced, complained or opted out, what each type blocks, and how entries are added and expire.

A suppression is an email address your workspace won't send to. The suppression list protects your sender reputation by stopping mail to addresses that bounced, complained or asked not to be contacted. This page explains how suppressions work. To view or change the list, see [Manage suppressions](/docs/suppressions/manage/).

## How it works

When a message is about to go out, Emailit checks the recipient against the workspace's suppression list. If the address is suppressed:

- the message isn't sent,
- its status becomes `suppressed`, with the suppression's reason in its delivery history,
- an [`email.suppressed`](/docs/webhooks/events/email/suppressed/) event fires.

Campaigns check the list before they create any emails, so suppressed addresses are left out of the send and counted under **Suppressed** in the campaign report.

The list belongs to one workspace. Matching ignores letter case, so `Ada@Example.com` and `ada@example.com` are the same address.

## Suppression types

Each suppression has a type. The type decides what it blocks.

| Type | Typically added by | Blocks API and SMTP email | Blocks campaigns |
| --- | --- | --- | --- |
| `recipient` | You (default), or Emailit after bounces | Yes | Yes |
| `bounce` | You, for example when importing bounces from another provider | No | Yes |
| `complaint` | Emailit after a spam complaint, or you | No | Yes |
| `unsubscribe` | You, for opt-outs collected elsewhere | No | Yes |

In short: a `recipient` suppression stops all mail to the address. The other types only stop campaigns, so transactional email such as receipts and password resets still reaches the person.

An address can have more than one suppression as long as each has a different type. Adding the same address with the same type again returns `409`.

> **Note:** When a contact unsubscribes through a campaign's unsubscribe link, Emailit marks the contact as unsubscribed instead of adding a suppression. See [Unsubscribes](/docs/audiences/unsubscribes/).

## What a suppression contains

| Field | Description |
| --- | --- |
| `id` | Starts with `sup_`. |
| `email` | The suppressed address, stored in lowercase. |
| `type` | `recipient`, `bounce`, `complaint` or `unsubscribe`. Defaults to `recipient`. |
| `reason` | Free text, such as `bounce`, `complaint` or `Requested removal by phone`. |
| `keep_until` | When the suppression expires. Empty means it never expires. |
| `created_at` | When it was added. |

## Automatic suppression

Emailit adds suppressions for you when mail fails or draws complaints:

| Trigger | Type | Reason |
| --- | --- | --- |
| A late bounce report arrives | `recipient` | `bounce` |
| All 7 delivery attempts fail | `recipient` | `too many soft fails` |
| A second hard bounce to the same address within 24 hours | `recipient` | `too many bounces` |
| A recipient reports the message as spam | `complaint` | `complaint` |

Automatic suppression is on for every workspace. On Pro and Business, admins can turn it off or limit it to bounces or complaints. See [Bounces and complaints](/docs/deliverability/bounces-and-complaints/#automatic-suppression).

| | Pay as you go | Pro | Business | Custom |
| --- | --- | --- | --- | --- |
| Configurable automatic suppression | — | Included | Included | — |

## How suppressions end

A suppression stays until one of these happens:

- **It expires.** Once `keep_until` has passed, the address is no longer suppressed. Use it for temporary holds, for example `"keep_until": "in 30 days"`.
- **You delete it** in the dashboard or with the API.
- **A message to the address is delivered.** Emailit removes the address's `recipient` suppression after a successful delivery.
- **An automation removes it** with the **Remove from suppressions** step.

A message that was already suppressed doesn't go out when you delete the suppression. Retry it to send it again. See [Retry suppressed emails](/docs/suppressions/manage/#retry-suppressed-emails).

## Events

| Event | Fires when |
| --- | --- |
| [`suppression.created`](/docs/webhooks/events/suppression/created/) | You add a suppression in the dashboard, with the API, by CSV import or with an automation. |
| [`suppression.updated`](/docs/webhooks/events/suppression/updated/) | A suppression is changed. |
| [`suppression.deleted`](/docs/webhooks/events/suppression/deleted/) | A suppression is deleted. |
| [`email.suppressed`](/docs/webhooks/events/email/suppressed/) | A message wasn't sent because its recipient is suppressed. |

Suppressions that Emailit adds automatically don't fire `suppression.created`. To react to them, listen for `email.bounced` and `email.complained`.

## Data retention

Bounced and suppressed message data is always retained for compliance purposes, whatever your [data retention](/docs/data-retention/) settings, so you can always see why an address was blocked.

## Next steps

  - [Manage suppressions](/docs/suppressions/manage/): View, add, import, export and delete suppressions.
  - [Suppressions API](/docs/api-reference/suppressions/): Create, list, update and delete suppressions.

---
Source: https://emailit.com/docs/suppressions/
