---
title: "Suppressions"
description: "`suppressions.list`, `list_all`, `iterate`, `get`, `add` and `remove`."
url: "https://nextmail.sh/docs/python/suppressions"
area: "Python"
category: "Mailbox"
---

# Suppressions

`suppressions.list`, `list_all`, `iterate`, `get`, `add` and `remove`.

## Every method

**suppressions.py**

```
from nextmail import nextmail

complaints = nextmail.suppressions.list_all(reason='complaint')

row = nextmail.suppressions.add({'email': 'noreply@example.com'})

if row['removable']:
    nextmail.suppressions.remove(row['id'])
```

The addresses this workspace will not send to: hard bounces and complaints, recorded as they happen, and any address blocked by hand. A send to one is refused for that recipient before anything leaves. Reading needs `settings:read` and changing needs `settings:write`, the scopes the Blocked addresses screen is gated on.

> `add` answers with the row whether it was new or already there. `remove` refuses a hard bounce with 409 `suppression_not_removable`, which `removable` tells you ahead of time. A key limited to particular addresses or domains can read the list and cannot change it.

## Reference

- [`suppressions.list()`](https://nextmail.sh/docs/python/reference/suppressions#list): full reference
- [`suppressions.list_all()`](https://nextmail.sh/docs/python/reference/suppressions#listAll): full reference
- [`suppressions.iterate()`](https://nextmail.sh/docs/python/reference/suppressions#iterate): full reference
- [`suppressions.get()`](https://nextmail.sh/docs/python/reference/suppressions#get): full reference
- [`suppressions.add()`](https://nextmail.sh/docs/python/reference/suppressions#add): full reference
- [`suppressions.remove()`](https://nextmail.sh/docs/python/reference/suppressions#remove): full reference
