> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notifique.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Multichannel suppressions

> Global do-not-contact list: protect your reputation across email, phone, Telegram, and Instagram.

<Tip>
  **Suppression** = identity on the workspace **do-not-contact list**. It is not a tag or marketing preference. It is the **red card** that blocks sending before you spend credits or call the provider.
</Tip>

## What is a suppression?

It is an entry on the **global list** that says: "do not send a message to this email, phone number, Telegram @, or Instagram @." The system checks this list **before enqueueing** and **again in the worker**.

Analogy: imagine a **notebook at the front desk** with names that cannot receive visitors. No matter which courier (channel) you pick — if the name is in the notebook, the message **does not go out**.

## Suppression × tag × topic × unsubscribe

|                      | **Suppression**                   | **Tag**               | **Topic**                | **Email unsubscribe**              |
| -------------------- | --------------------------------- | --------------------- | ------------------------ | ---------------------------------- |
| Purpose              | **Block** contact across channels | **Label** contact     | **Consent** by theme     | **Marketing** preference for email |
| Scope                | Global in workspace               | On the contact record | By subject (Newsletter…) | Email marketing only               |
| Example              | `STOP`, bounce, spam              | `VIP`, `Lead`         | Accepts Promotions       | Clicked "unsubscribe"              |
| Blocks SMS/WhatsApp? | **Yes** (if phone)                | No                    | Not on its own           | **No** automatically               |

<Info>
  `STOP` in SMS creates a **global phone suppression** (SMS, WhatsApp, RCS, and voice). Unsubscribe and one-click email are **marketing preferences** — they do not block other channels on their own.
</Info>

## Types and channels

Each entry has `type` + `value`, normalized before saving:

| `type`      | Blocks                        |
| ----------- | ----------------------------- |
| `email`     | Email                         |
| `phone`     | SMS, WhatsApp, RCS, and voice |
| `telegram`  | Telegram                      |
| `instagram` | Instagram                     |

## Common reasons

| Reason             | When to use                              |
| ------------------ | ---------------------------------------- |
| `bounce`           | Provider permanently rejected the email  |
| `complaint`        | Recipient marked as spam                 |
| `opt_out`          | Asked not to be contacted (`STOP`, etc.) |
| `manual`           | Operator added in dashboard or API       |
| `invalid`          | Invalid identity                         |
| `legal`            | Block required by legal obligation       |
| `provider_blocked` | Provider blocked the recipient           |

Additions are **idempotent**: the same active identity does not trigger another `suppression.added` event.

## How it works in practice

1. Open **Audience → Suppressions** (members can view; OWNER/ADMIN add, import, and remove)
2. Add manually or **import CSV/XLSX** (`type`, `value`, `reason`, `channel`)
3. At send or campaign time, suppressed contacts **do not enter the queue**
4. The item ends with `RECIPIENT_SUPPRESSED` — **no credit** and **no provider call**

<Warning>
  Removing a suppression **re-enables sending immediately**. If the address generates bounce or complaint again, it may be suppressed again automatically.
</Warning>

## In the API

Scopes `suppressions:read` and `suppressions:write`. Events: `suppression.added`, `suppression.removed`, `message.suppressed`.

* [Quick start](/en/suppressions-api/como-funciona/quick-start)
* [Normalization](/en/suppressions-api/como-funciona/normalizacao)
* [API Key scopes](/en/suppressions-api/como-funciona/escopos-da-api-key)

## Next steps

* [Audience tags](/en/contacts-api/como-funciona/tags-na-audiencia): tags do not replace suppression
* [Campaigns in the dashboard](/en/contacts-api/como-funciona/campanhas-no-painel): suppressed contacts do not enter the queue
* [Communication topics](/en/contacts-api/como-funciona/topicos-de-comunicacao): consent by theme
