List Jobs
Returns a paginated list of email validation jobs owned by the authenticated user, newest first.
Endpoint
Method: GET
Path: /email-validation/jobs/
Full URL: https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/
Auth: Authorization: Token YOUR_API_TOKEN — see Authentication
Query Parameters
| Param | Allowed values | Purpose |
|---|---|---|
status | Uploading, Processing, Processed, Failed, or All | Filter by status. Default = no filter. |
page | integer ≥ 1 | Page number. Default = 1. |
page_size | integer 1–100 | Items per page. Default = 20. |
Example Request
curl -X GET \
"https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/?status=Processed&page=1&page_size=20" \
-H "Authorization: Token YOUR_API_TOKEN"
Successful Response — 200 OK
{
"count": 17,
"total_pages": 1,
"current_page": 1,
"next": null,
"previous": null,
"results": [
{
"id": 42,
"uuid": "f8a1c3e5-9b2d-4e6f-a8c1-0d3e5f7a9b2d",
"list_name": "Q1 Leads",
"status": "Processed",
"total_records": 250,
"valid_count": 178,
"invalid_count": 49,
"unknown_count": 23,
"total_credits_charged": 178.0,
"credits_charged_at": "2026-05-06T11:42:08.913Z",
"created_at": "2026-05-06T11:41:55.001Z",
"started_at": "2026-05-06T11:42:01.220Z",
"completed_at": "2026-05-06T11:43:17.880Z",
"duration": "1m 16s",
"results_summary": "250/250"
}
]
}
total_credits_charged is the net charge after refunds (initial charge minus refunds for non-Valid emails).
Job Status Values
| Status | Meaning |
|---|---|
Uploading | Job created, async worker not yet picked up |
Processing | Job is running |
Processed | Done — results available for download |
Failed | Job crashed; credits refunded |
Error Responses
| HTTP | Body | When |
|---|---|---|
| 401 | {"detail": "Invalid token."} | Missing or invalid token |
| 400 | {"error": "Invalid status filter."} | status value not recognized |
See Error Codes for the full list.