HomeConvertNow KnowledgebaseSuppression List API

Suppression List API

The suppression list is a per-account blocklist. Any address on the list is silently skipped when you call POST /v1/email/send. Required for GDPR compliance and bounce handling at scale.



GET /api/email-api/suppressions

Returns all suppressed addresses for the authenticated account.

{

“suppressions”: [

{

“id”: 1,

“email”: “[email protected]”,

“reason”: “unsubscribed”,

“source”: “campaign”,

“createdAt”: “2026-07-01T12:00:00.000Z”

}

]

}



POST /api/email-api/suppressions

Add one or more addresses to the suppression list. Duplicates are ignored (idempotent).

Single address

{ “email”: “[email protected]”, “reason”: “unsubscribed” }



Bulk

{ “email”: [“[email protected]”, “[email protected]”], “reason”: “bounced” }



Response 201

{ “added”: 2, “skipped”: 1, “suppressions”: […] }



DELETE /api/email-api/suppressions/:email

Remove an address from the suppression list. URL-encode the email address.

curl -X DELETE “https://api.convertnow.co/api/email-api/suppressions/user%40example.com” \

-H “Authorization: Bearer YOUR_JWT_TOKEN”



How suppressions interact with sending

Suppressed addresses in a multi-recipient send are skipped transparently. If all recipients are suppressed, a 422 is returned and no email is sent.



Code example — sync unsubscribes

async function suppressAddress(email, reason = ‘unsubscribed’) {

const res = await fetch(‘https://api.convertnow.co/api/email-api/suppressions’, {

method: ‘POST’,

headers: {

‘Authorization’: `Bearer ${process.env.CONVERTNOW_JWT}`,

‘Content-Type’: ‘application/json’,

},

body: JSON.stringify({ email, reason }),

});

if (!res.ok) throw new Error(`Suppression failed: ${res.status}`);

return res.json();

}

async function unsuppressAddress(email) {

const encoded = encodeURIComponent(email);

await fetch(`https://api.convertnow.co/api/email-api/suppressions/${encoded}`, {

method: ‘DELETE’,

headers: { ‘Authorization’: `Bearer ${process.env.CONVERTNOW_JWT}` },

});

}

This is a staging environment