Get import status
Poll a CSV import for progress and its per-row error report.
Progress updates land after every 1,000-row batch, so a large file shows live movement. Invalid rows never abort the import — they are collected into an error report (first 500, with 1-based row numbers matching your file) so you can fix and re-import just the failures.
GET /v3/suppressions/imports/{id}
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | Optional | pending → processing → done (or failed with error_message). |
total_rows / processed_rows | number | Optional | Data rows detected in the file, and how many have been processed so far. |
added / skipped | number | Optional | Entries written vs rows skipped (invalid syntax, duplicates within the file). |
errors | array | Optional | First 500 skipped rows as { row, email, reason } — row is 1-based and counts the header row when present. |
Responses
| Status | Description |
|---|---|
200 | The import job. |
404 | No such import on your account. |
Code examples
cURL
curl https://api.wemail.io/v3/suppressions/imports/{id} \
-H "Authorization: Bearer afn_live_…"Node.js
const res = await fetch("https://api.wemail.io/v3/suppressions/imports/{id}", {
headers: {
Authorization: `Bearer ${process.env.WEMAIL_API_KEY}`,
},
});
const data = await res.json();Python
import os, requests
r = requests.get(
"https://api.wemail.io/v3/suppressions/imports/{id}",
headers={"Authorization": f"Bearer {os.environ['WEMAIL_API_KEY']}"},
)
data = r.json()