---
title: "List suppressed email addresses"
method: GET
path: "/suppressions"
tags: ["Suppressions"]
---

# List suppressed email addresses

`GET /suppressions`

## Request

- Base URL: `https://shipmail.to/api/v1`
- URL: `https://shipmail.to/api/v1/suppressions`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://shipmail.to/api/auth/oauth2/authorize`, token URL `https://shipmail.to/api/auth/oauth2/token`)

Returns a paginated list of email addresses that have been suppressed for your organization. Addresses are suppressed automatically on hard bounces, complaints and repeated soft bounces, or by importing a suppression list into an audience. A complaint about a newsletter has scope `marketing` and blocks newsletter sends only; every other entry has scope `all` and blocks every send. A soft-bounce entry expires 30 days after it is created, unless the address had already been paused once.

## Query parameters

- `cursor` string
- `limit` integer
- `scope` 'all' | 'marketing'

## Headers

- `X-Shipmail-Organization` string

## Response `200`

Paginated list of suppressed addresses.

- object
  - `data` Suppression[]
    - `object` 'suppression', required
    - `email_address` string, email, required: The suppressed email address.
    - `reason` 'hard_bounce' | 'complaint' | 'manual' | 'soft_bounce', required: Why the address was suppressed. `soft_bounce`: at least 3 temporary bounces (mailbox full or a general temporary failure) in 14 days.
    - `scope` 'all' | 'marketing', required: Which sends the entry blocks. `all` blocks every send. `marketing` blocks newsletter sends only and is set by a complaint about a newsletter.
    - `expires_at` string, date-time, nullable, required: When the entry stops blocking sends, or null when it is permanent. A soft-bounce entry lasts 30 days; a second one for the same address is permanent.
    - `created_at` string, date-time, required: When the address was suppressed.
  - `pagination` Pagination
    - `next_cursor` string, nullable, required: Cursor for the next page. Null if no more results.
    - `has_more` boolean, required: Whether more results exist beyond this page.
    - `limit` integer, required: Number of items per page.

## Other responses

- `401`: Authentication failed.
- `429`: Rate limit exceeded.

---

[API](https://skmtc.dev/shipmail/apis/shipmail-api.md) · [All operations](https://skmtc.dev/shipmail/apis/shipmail-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shipmail/apis/shipmail-api/revisions/2c23e59d7e30?raw)
