Appearance
Retrieve a suppression
Fetch one suppression by its id, or by the address itself.
http
GET /v1/suppressions/{suppression}Requires a Full access API key.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
suppression | string | Yes | The suppression id, or the suppressed email address. |
Either identifies the same record. GET /v1/suppressions/woz@example.com and GET /v1/suppressions/{id} return it equally — the address is treated as an id whenever the value contains an @.
Example
bash
# by id
curl "https://api.sendgrail.com/v1/suppressions/$SUPPRESSION_ID" \
-H "Authorization: Bearer $SENDGRAIL_API_KEY"
# or by address
curl "https://api.sendgrail.com/v1/suppressions/woz@example.com" \
-H "Authorization: Bearer $SENDGRAIL_API_KEY"js
const res = await fetch(
'https://api.sendgrail.com/v1/suppressions/woz@example.com',
{ headers: { Authorization: `Bearer ${process.env.SENDGRAIL_API_KEY}` } },
);
const suppression = await res.json();Response
The full suppression object:
json
{
"object": "suppression",
"id": "a2f5c1d0-7b3e-4c9a-8f21-6d0e5b4c3a10",
"email": "woz@example.com",
"origin": "bounce",
"source_id": "e139e0a4-8c72-4b1e-9d3a-2f6b0c1d4e58",
"created_at": "2026-07-14T19:44:32+00:00"
}Fields
| Field | Type | Description |
|---|---|---|
object | string | Always suppression. |
id | string | The suppression id. |
email | string | The suppressed address, lower-cased. |
origin | string | Why it was suppressed — bounce, complaint, or manual. |
source_id | string | null | The id of the email that triggered an automatic suppression. null for a manual one, which has no source. |
created_at | string | When the address was suppressed. ISO 8601. |
What origin means
bounce— added automatically when a send to this address hard-bounced.complaint— added automatically when a recipient marked a send as spam.manual— added by you, through Add a suppression or the dashboard.
A bounce or complaint is permanent and cannot be removed; a manual one can. See Remove a suppression and the Suppressions guide.
Another team's suppression answers 404
An id — or address — that isn't yours is an id that doesn't exist, as far as your key is concerned:
json
{
"message": "No suppression matches woz@example.com.",
"code": "not_found",
"request_id": "8f2c1e64-1b17-4f8c-9f0e-3b6c1e0f5c31"
}