Suppressions

Respect the recipient. Protect your sending.

Hard bounces and complaints create recipient suppressions. Unsubscribes record preferences separately. Bird checks these records when processing a send, so your team can respect opt-outs and avoid repeatedly mailing addresses that cannot receive email.

Create your account, then review or import the recipients you need to exclude.

Set up in:
Cursor

Recipient protection

Example record

AL
Alex Lee
alex@example.com
Sending policy
Suppress all email
The address returned a hard bounce. Future sends are suppressed.
Review the reason and history
Make an informed recipient decision

Hard bounces suppress all email. Complaints suppress non-transactional email. Unsubscribe preferences are stored separately.

The single biggest lever on your reputation.

Suppression is built into the Bird Email API. Hard-bounce records stop mail to invalid addresses, and complaint records stop non-transactional mail. You can inspect the reason and originating message to understand why a recipient was rejected.

Five ways suppression protects you.

Automatic, reversible, and queryable.

  1. 01

    Automatic on bounce + complaint.

    Hard bounces and spam complaints create suppression records automatically. Unsubscribes appear in Preferences.

  2. 02

    Reversible.

    Investigate the cause before removing a suppression. Other blocking records and opt-out preferences remain in effect.

  3. 03

    Manual entries.

    Add addresses yourself: a known-bad list you're importing from another provider, say.

  4. 04

    Queryable via API.

    List the whole thing, filter by address or reason, add an entry, or delete one by its record id, so your own systems stay in sync.

  5. 05

    Category-aware checks.

    Hard-bounce and manual suppressions block all categories. Complaints block non-transactional mail. A recipient’s preferences are checked separately.

Automatic by default, yours to control.

You never have to touch the list for it to work; bounces and complaints suppress on their own. When you do need to, the whole list is an API: add an address you already know is bad, filter by address or reason, or delete a record to reinstate a recipient that recovered. The bird CLI covers the reads and the removals, and an agent reaches the same two over MCP.

suppressions.sh
bird CLI
# Look up why an address is on the list.
$ bird email suppressions list --email ada@example.com \
    | jq -c '.data[] | {id, reason, applies_to}'

{"id":"sup_01krdgeqcxet5s7t44vh8rt9mg","reason":"hard_bounce",
 "applies_to":"all"}

# Reinstate one that recovered, by record id.
$ bird email suppressions remove sup_01krdgeqcxet5s7t44vh8rt9mg --yes

Three suppression reasons. Separate preferences.

Hard bounces and manual entries block all mail. Complaints block non-transactional mail. An unsubscribe creates a separate preference; removing a suppression does not erase that preference.

ReasonTriggered byBlocks
hard_bouncea permanent bounceall mail (transactional + marketing)
complainta spam complaintmarketing only
manualyou, via API or dashboardall mail (transactional + marketing)

Go deeper in the docs.

Read how automatic and manual suppression work in the suppressions guide, and how it fits the bigger picture in the deliverability guide.

Questions about email suppressions

Which recipients are suppressed automatically?
Hard bounces create suppressions for all mail; complaints create suppressions for non-transactional mail. Manual suppressions block all categories. Soft bounces and deferrals do not create permanent recipient suppressions.
Is an unsubscribe a suppression?
An unsubscribe records the recipient’s preference on the Preferences tab. It is separate from the suppression list. Both are checked when deciding whether to deliver, and deleting a contact does not erase its opt-out.
Can I remove or test a suppression?
You can remove a suppression through the dashboard or API after investigating its cause. Removing one does not remove other blocking records or opt-out preferences. The suppressed@messagebird.dev sandbox address lets you test a rejected recipient without changing your list.

Keep excluded recipients out of the next send.

Review suppressed addresses and carry your existing suppression list into Bird before moving production traffic.

Create your account, then review or import the recipients you need to exclude.

Start with one channel.
Add the others when you're ready.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Using Claude Code, Cursor, or Codex? Copy a setup prompt and your agent installs the Bird CLI and skills for you. Pick yours:

Cursor