Get a bulk job
Check the status and summary counts of a bulk verification job.
Returns a bulk verification job with its processing progress and a per-verdict summary. Poll it until status reaches completed, or pass webhook_url at creation and wait for the completion webhook instead.
GET /v3/validate/bulk/{jobId}
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
jobId | string | Required | The job_id returned by POST /v3/validate/bulk. |
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | Optional | Job lifecycle state — completed when every row has a verdict; deleted after a soft delete. |
total_count · processed_count | integers | Optional | How many addresses the job holds and how many have been verified so far. |
summary | object | Optional | Per-verdict counts: { valid, invalid, catch_all, unknown, do_not_mail, spamtrap, abuse }. |
filename · created_at · completed_at · webhook_url · error_message | metadata | Optional | The display name, timestamps, completion webhook and any failure detail. |
can_retry | boolean | Optional | Whether the job still stores its source addresses and can be re-run. |
Responses
| Status | Description |
|---|---|
200 | OK. The job object described above. |
401 | Missing or invalid API key. |
404 | No job with that id on your account. |
Code examples
cURL
curl https://api.wemail.io/v3/validate/bulk/{jobId} \
-H "Authorization: Bearer afn_live_…"Node.js
const res = await fetch("https://api.wemail.io/v3/validate/bulk/{jobId}", {
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/validate/bulk/{jobId}",
headers={"Authorization": f"Bearer {os.environ['WEMAIL_API_KEY']}"},
)
data = r.json()