Suppressions

Manage your email suppression list programmatically.

List Suppressions

GET/projects/{projectId}/suppressions

Get all suppressed emails with pagination.

Query Parameters

limit optional — Results per page (1-100, default: 50)

cursor optional — Pagination cursor

Request

curl -H "X-API-Key: pb_live_xxx" \
"https://api.parsebounce.com/projects/prj_abc123/suppressions?limit=10"

Response

{
"items": [
{
"hash": "a1b2c3d4e5f6...",
"email": "bounced@example.com",
"reason": "hard_bounce",
"created_at": "2026-01-15T10:30:00.000Z"
}
],
"next_cursor": "eyJwayI6InByb2ouLi4ifQ",
"count": 1
}

Use next_cursor as the cursor parameter to get the next page.

Check Single Email

GET/projects/{projectId}/suppressions/check

Check if a specific email is suppressed.

Query Parameters

email required — Email address to check

Request

curl -H "X-API-Key: pb_live_xxx" \
"https://api.parsebounce.com/projects/prj_abc123/suppressions/check?email=test@example.com"

Response (Suppressed)

{
"email": "test@example.com",
"suppressed": true,
"reason": "hard_bounce",
"created_at": "2026-01-15T10:30:00.000Z"
}

Response (Not Suppressed)

{
"email": "test@example.com",
"suppressed": false
}

Batch Check Emails

POST/projects/{projectId}/suppressions/check

Check multiple emails at once (up to 100).

Request Body

{
"emails": ["email1@example.com", "email2@example.com"]
}

Request

curl -X POST -H "X-API-Key: pb_live_xxx" \
-H "Content-Type: application/json" \
-d '{"emails": ["test1@example.com", "test2@example.com"]}' \
"https://api.parsebounce.com/projects/prj_abc123/suppressions/check"

Response

{
"results": [
{"email": "test1@example.com", "suppressed": true, "reason": "hard_bounce"},
{"email": "test2@example.com", "suppressed": false}
]
}

Add Suppression

POST/projects/{projectId}/suppressions

Manually add an email to the suppression list.

Request Body

{
"email": "block@example.com"
}

Request

curl -X POST -H "X-API-Key: pb_live_xxx" \
-H "Content-Type: application/json" \
-d '{"email": "block@example.com"}' \
"https://api.parsebounce.com/projects/prj_abc123/suppressions"

Response

{
"email": "block@example.com",
"hash": "a1b2c3d4e5f6...",
"reason": "manual",
"created_at": "2026-01-16T14:00:00.000Z"
}

Remove Suppression

DELETE/projects/{projectId}/suppressions/{hash}

Remove an email from the suppression list.

Path Parameters

hash required — Hash of the suppressed email

Request

curl -X DELETE -H "X-API-Key: pb_live_xxx" \
"https://api.parsebounce.com/projects/prj_abc123/suppressions/a1b2c3d4e5f6"

Response

{
"deleted": true,
"hash": "a1b2c3d4e5f6"
}

Suppression Reasons

hard_bounce

Email permanently bounced (invalid address, domain doesn't exist)

complaint

Recipient marked your email as spam

manual

Manually added via API or dashboard