---
title: "Get recipient suppression"
method: GET
path: "/suppressions/{email}"
tags: ["Suppressions"]
---

# Get recipient suppression

`GET /suppressions/{email}`

Checks one exact recipient against Sequenzy's local bounce and complaint safeguards and the regional Amazon SES account-level suppression list. The lookup does not expose unrelated recipients from the shared SES account.

## Path parameters

- `email` string, email, required

## Query parameters

- `region` string

## Response `200`

Recipient suppression status

- object
  - `success` boolean
  - `suppression` object
    - `email` string, email
    - `knownRecipient` boolean
    - `suppressed` boolean
    - `local` object
      - `suppressed` boolean
      - `suppressionType` 'invalid_recipient' | 'unknown_hard_bounce' | 'soft_bounce_escalation' | 'complaint', nullable — Stable product-level classification. Null when no typed local suppression row exists.
      - `reason` string, nullable
      - `source` string, nullable
      - `suppressionId` string, nullable
      - `scope` 'global' | 'company', nullable — global when the block applies platform-wide, company when it is contained to this workspace. Null when the recipient is not locally suppressed.
      - `delistable` boolean — True only for a company-scoped soft-bounce escalation.
    - `ses` object
      - `regionsChecked` string[]
      - `entries` object[]
        - `email` string, email
        - `region` string
        - `reason` 'BOUNCE' | 'COMPLAINT'
        - `lastUpdateTime` string, date-time, nullable
        - `messageId` string, nullable
        - `feedbackId` string, nullable

## Other responses

- `400` — Invalid email address or AWS region
- `401` — Unauthorized
- `403` — No company selected
- `500` — Internal server error
- `503` — The database was temporarily unavailable. The request may be retried after the delay in Retry-After.

## Changes

- **2026-08-23** `1a40912815df` — 3 info
  - added the optional property `suppression/local/delistable` to the response with the `200` status
  - added the optional property `suppression/local/scope` to the response with the `200` status
  - added the optional property `suppression/local/suppressionType` to the response with the `200` status
- **2026-08-19** `ba3a29c6eb33` — 5 info
  - added the optional property `retryable` to the response with the `400` status
  - added the optional property `retryable` to the response with the `401` status
  - added the optional property `retryable` to the response with the `403` status
  - added the optional property `retryable` to the response with the `500` status
  - …1 more
- **2026-08-18** `8fbabe82a04d` — 1 info
  - added the non-success response with the status `503`
- **2026-08-16** `6fd2903b91ce` — 4 info
  - added the optional property `code` to the response with the `400` status
  - added the optional property `code` to the response with the `401` status
  - added the optional property `code` to the response with the `403` status
  - added the optional property `code` to the response with the `500` status
- …earlier changes not shown

[Full history](https://skmtc.dev/sequenzy/apis/sequenzy-api/changes/suppressions/:email/get.md)

---

[API](https://skmtc.dev/sequenzy/apis/sequenzy-api.md) · [All operations](https://skmtc.dev/sequenzy/apis/sequenzy-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequenzy/sequenzy-api/revisions/0a7fab9aeda6/schema)
