---
title: Suppressions
description: Addresses and domains you never want mailed, whatever else happens.
---

A suppression is a hard stop. A suppressed address is never sent to,
no matter which lists it is on or what it is subscribed to.

Bounces and complaints suppress automatically; you do not need to
handle those. These endpoints are for suppressions *you* decide on:
a competitor's domain, an address someone asked you to remove by
phone, a role account you would rather not mail.

## List suppressions

`GET /v1/suppressions`

```bash
curl https://api.zevcampaign.com/v1/suppressions \
  -H "Authorization: Bearer sk_live_your_key_here"
```

```json
{
  "data": [
    {
      "id": "sup_9k2m4x",
      "email": "ada@example.com",
      "domain": null,
      "reason": "manual",
      "note": "Asked to be removed by phone, 14 March.",
      "created_at": "2026-03-14T10:00:00.000Z"
    }
  ],
  "meta": { "limit": 20, "has_more": false, "next_cursor": null }
}
```

## Suppress an address or a domain

`POST /v1/suppressions`

```bash
curl https://api.zevcampaign.com/v1/suppressions \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "ada@example.com",
    "note": "Asked to be removed by phone, 14 March."
  }'
```

Or a whole domain:

```bash
curl https://api.zevcampaign.com/v1/suppressions \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "competitor.com", "note": "Never mail a competitor." }'
```

| Field | Type | Notes |
|---|---|---|
| `email` | string | One of `email` or `domain` is required |
| `domain` | string | A bare hostname, like `competitor.com` |
| `note` | string | Why. Strongly recommended |

**Write the note.** In a year, "why is this address suppressed" is a
question somebody will ask, and a suppression with no explanation
tends to get removed by whoever is cleaning up — occasionally the one
that was there for a legal reason.

## Remove a suppression

`DELETE /v1/suppressions/{id}`

```bash
curl -X DELETE https://api.zevcampaign.com/v1/suppressions/sup_9k2m4x \
  -H "Authorization: Bearer sk_live_your_key_here"
```

Removing a suppression does not resubscribe anybody. It only lifts the
block. If the contact had unsubscribed, they are still unsubscribed,
and only they can change that.

## What you cannot remove

Suppressions from a **complaint** stand. Someone pressed "report
spam"; that is the clearest possible statement, and letting it be
undone from an API would make it meaningless.

Hard bounces can be removed, but think first: the address did not
exist when we tried it. If it has since been created, let the person
sign up again rather than reviving a dead address, which is a fast way
to end up in a spam trap.

## Domain suppressions

A domain suppression blocks every address at that domain, now and in
future. Useful for competitors and for domains you have been asked
not to contact.

Be careful with large free providers. Suppressing `gmail.com` would
silently remove most of your audience from every campaign, and the
first sign is a report with a number far smaller than you expected.