Export suppressions
Start an async CSV export of a suppression list.
Download a suppression list in full — no pagination cap — for audits, warehouse syncs, or taking your data with you. The export runs as a background job; columns match the entry object: email, type, reason, source, override_unsubscribes, created_at. Generated files are kept for 7 days.
POST /v3/suppressions/{type}/export
Body parameters (all optional)
| Parameter | Type | Required | Description |
|---|---|---|---|
since | ISO-8601 | Optional | Only entries created at/after this instant. |
until | ISO-8601 | Optional | Only entries created before this instant. |
source | string | Optional | manual, import, delivery_report or verification — e.g. export only what a migration imported. |
Responses
| Status | Description |
|---|---|
202 | { export_id, status: "pending" } — poll GET /v3/suppressions/exports/{id}. |
429 | Rate limit exceeded (10 calls/minute). |
Code examples
cURL
curl -X POST https://api.wemail.io/v3/suppressions/{type}/export \
-H "Authorization: Bearer afn_live_…" \
-H "Content-Type: application/json" \
-d '{ "since": "2026-01-01T00:00:00Z" }'Node.js
const res = await fetch("https://api.wemail.io/v3/suppressions/{type}/export", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WEMAIL_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ "since": "2026-01-01T00:00:00Z" }),
});
const data = await res.json();Python
import os, requests
r = requests.post(
"https://api.wemail.io/v3/suppressions/{type}/export",
headers={"Authorization": f"Bearer {os.environ['WEMAIL_API_KEY']}"},
json={ "since": "2026-01-01T00:00:00Z" },
)
data = r.json()