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

# List Suppressed Recipients

> List the recipients your workspace cannot currently reach.

# List Suppressed Recipients

Lists every recipient your workspace is currently blocked from mailing, newest
suppression first. Suppressed recipients are silently skipped by campaigns,
sequences, and transactional sends, so this is the first place to look when
someone reports missing email.

Global rows are returned only when the address is already associated with your
workspace through recipient history; the shared platform list is never exposed.
Use
[Get Recipient Suppression](/api-reference/suppressions/get) for a full check of
one address that also queries Amazon SES, and
[Remove Recipient Suppression](/api-reference/suppressions/remove) to clear a
workspace soft-bounce escalation.

## Entry types

New suppressions persist their stable type in `bounced_email.suppression_type`.
Historical complaint sends are still included as a compatibility fallback, so
older complaint entries can report `source: "email_send_complaint"` while new
ones report `source: "bounced_email"`.

* `suppressionType: "invalid_recipient"` - the mail provider reported a
  destination-address failure that conclusively identifies an invalid address.
  Its scope is `global`, it is shown as protected to every workspace associated
  with the address, and it cannot be removed by a workspace.
* `suppressionType: "unknown_hard_bounce"` - the provider reported a permanent
  or undetermined failure, but its SMTP evidence did not prove the inbox was
  invalid. Its scope is `company` and it is protected.
* `suppressionType: "soft_bounce_escalation"` - repeated delivery failures of
  your own sends escalated the address. Its scope is `company`, and it can be
  removed by an administrator for that workspace.
* `reason: "complaint"` - the recipient reported one of your emails as spam.
  Its `suppressionType` is `complaint`, its scope is `company`, and it is
  protected: `delistable` is `false` and removal is refused.

Only addresses that are actually blocked appear. An address partway through the
repeated-failure count is still deliverable and is not listed until it
escalates.

## Request

<ParamField query="search" type="string">
  Case-insensitive substring filter on the recipient email address.
</ParamField>

<ParamField query="page" type="number">
  1-based page number. Defaults to `1`.
</ParamField>

<ParamField query="limit" type="number">
  Entries per page. Defaults to `25`, maximum `100`.
</ParamField>

<ParamField query="sort" type="string">
  Field to order by: `suppressedAt` (default), `email`, or `status`. Use
  `status` to list the removable workspace escalations before the protected
  suppressions. An unrecognized value falls back to `suppressedAt` instead of
  failing the request - read `sortBy` in the response to confirm what was
  applied.
</ParamField>

<ParamField query="order" type="string">
  Sort direction, `asc` or `desc`. Defaults to `desc` for `suppressedAt` and
  `status`, `asc` for `email`.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/suppressions?limit=25&sort=status&order=desc" \
  -H "Authorization: Bearer API_KEY"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "suppressions": [
      {
        "email": "user@example.com",
        "suppressionType": "invalid_recipient",
        "reason": "bounced",
        "scope": "global",
        "source": "bounced_email",
        "bounceType": "Permanent",
        "bounceSubType": "General",
        "bounceCount": 1,
        "suppressedAt": "2026-07-15T09:00:00.000Z",
        "delistable": false
      },
      {
        "email": "reporter@example.com",
        "suppressionType": "complaint",
        "reason": "complaint",
        "scope": "company",
        "source": "bounced_email",
        "bounceType": null,
        "bounceSubType": null,
        "bounceCount": null,
        "suppressedAt": "2026-06-02T11:30:00.000Z",
        "delistable": false
      }
    ],
    "total": 2,
    "page": 1,
    "limit": 25,
    "hasMore": false,
    "sortBy": "suppressedAt",
    "sortOrder": "desc"
  }
  ```

  ```json 401 theme={null}
  { "success": false, "error": "Invalid API key" }
  ```

  ```json 403 theme={null}
  { "success": false, "error": "No company selected" }
  ```
</ResponseExample>
