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

ParameterTypeRequiredDescription
statusstringOptionalpendingprocessingdone (or failed with error_message).
total_rows / processed_rowsnumberOptionalData rows detected in the file, and how many have been processed so far.
added / skippednumberOptionalEntries written vs rows skipped (invalid syntax, duplicates within the file).
errorsarrayOptionalFirst 500 skipped rows as { row, email, reason }row is 1-based and counts the header row when present.

Responses

StatusDescription
200The import job.
404No 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()