Download Results
Bulk export of all records for a completed email validation job — CSV (default) or JSON. Available only when status == "Processed".
Endpoint
Method: GET
Path: /email-validation/jobs/{job_id}/download/
Full URL: https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/{job_id}/download/
Auth: Authorization: Token YOUR_API_TOKEN — see Authentication
Query Parameters
| Param | Values | Default | Result |
|---|---|---|---|
format | csv | csv | Streaming CSV download with Content-Disposition: attachment header. Filename: email_validation_<first8charsofuuid>.csv. |
format | json | — | JSON response with the full record list (no pagination — be careful for very large jobs). |
Example Request — CSV
curl -X GET \
"https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/42/download/?format=csv" \
-H "Authorization: Token YOUR_API_TOKEN" \
-o results.csv
Example Request — JSON
curl -X GET \
"https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/42/download/?format=json" \
-H "Authorization: Token YOUR_API_TOKEN"
CSV Columns
The streamed CSV contains the following columns in order:
Email, Status, Validator, Cached, Processed At
JSON Response Shape
[
{
"id": 9881,
"ec_id": null,
"email": "jane@acme.com",
"status": "Valid",
"validator_used": "ZeroBounce",
"is_cached": false,
"error_message": null,
"processed_at": "2026-05-06T11:42:31.412Z"
}
]
See Job Records for descriptions of each per-record field.
Error Responses
| HTTP | Body | When |
|---|---|---|
| 400 | {"error": "Job is not yet complete."} | Job is not in Processed state |
| 401 | {"detail": "Invalid token."} | Missing or invalid token |
| 404 | {"detail": "Not found."} | job_id doesn't exist or belongs to another user |
See Error Codes for the full list.