Suppressions
Inspect addresses that will not receive API mail and reactivate them when the cause is resolved.
/v1/message-streams/outbound/suppressions/dumpDump suppressions
GET /v1/message-streams/outbound/suppressions/dump requires email:read and returns all suppressions for the organization. There are no pagination parameters on this endpoint.
Each entry includes EmailAddress, SuppressionReason (HardBounce or ManualSuppression), Origin (Recipient, Customer, or Admin), and CreatedAt. Addresses are stored lowercase.
Automatic hard bounce suppression
A hard bounce classified as a recipient failure automatically suppresses the address. A policy, reputation, or authentication refusal does not automatically mean the address is bad.
Suppressions are organization-wide and persist until reactivated. They are not removed by the 30-day message-retention sweep.
Delete suppressions
POST /v1/message-streams/outbound/suppressions/delete requires email:send. Send the Suppressions array with one EmailAddress string per object:
curl 'https://api.prawnwire.com/v1/message-streams/outbound/suppressions/delete' \
-H "Authorization: Bearer $PRAWNWIRE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"Suppressions": [
{
"EmailAddress": "ada@example.com"
}
]
}' const response = await fetch(
'https://api.prawnwire.com/v1/message-streams/outbound/suppressions/delete',
{
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.PRAWNWIRE_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"Suppressions": [
{
"EmailAddress": "ada@example.com"
}
]
}),
},
)
const result = await response.json()
if (!response.ok) throw new Error(JSON.stringify(result))
console.log(result) The prawnwire SDK is publishing soon. This example uses built-in fetch in Node 18 or newer.
{
"Suppressions": [
{
"EmailAddress": "ada@example.com",
"Status": "Deleted",
"Message": null
}
]
} The result includes one entry per supplied address. A syntactically valid address returns Status: "Deleted" and Message: null, even if it was not suppressed. An invalid address returns Status: "Failed" with a message; valid entries are still processed.
Only outbound is supported. Other streams return ErrorCode 1235. A missing Suppressions array returns 300.
Test keys with this scope can also reactivate addresses. Delete only after correcting the cause and confirming the recipient should receive mail.
Partial suppression
A live send to a mix of suppressed and active recipients queues only the active recipients. Its response has ErrorCode: 0 and a message such as:
{
"ErrorCode": 0,
"Message": "OK. Not sent to suppressed recipients: ada@example.com."
} This is an excerpt; a successful send also includes To, SubmittedAt and MessageID. The suppressed recipients do not count against the allowance. If every recipient is suppressed, ErrorCode 406 and HTTP 422 are returned and nothing is queued.