Skip to main content

Job Records

Paginated list of every individual validation result for a job.

Endpoint

Method: GET Path: /email-validation/jobs/{job_id}/records/ Full URL: https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/{job_id}/records/ Auth: Authorization: Token YOUR_API_TOKEN — see Authentication

Query Parameters

ParamAllowed valuesPurpose
statusPending, Valid, Invalid, Unknown, Error, or AllFilter records by status
pageinteger ≥ 1Page number. Default = 1.
page_sizeinteger 1–1000Items per page. Default = 100.

Example Request

curl -X GET \
"https://app.ecoreservice.com/backend/api/v1/email-validation/jobs/42/records/?status=Valid&page=1&page_size=100" \
-H "Authorization: Token YOUR_API_TOKEN"

Successful Response — 200 OK

{
"count": 250,
"total_pages": 3,
"current_page": 1,
"next": "...",
"previous": null,
"results": [
{
"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"
}
]
}

Per-record Fields

FieldTypeMeaning
idintegerRecord's primary key
ec_idstring | nullOptional caller-supplied external identifier (preserved from CSV column ec_id if present)
emailstringThe email address
statusstringSee Status Values
validator_usedstring | nullWhich validator stage produced the answer — see Validator Values
is_cachedbooleantrue if the answer came from the validator's 30-day cache
error_messagestring | nullPopulated when status == "Error" (validator unreachable, batch HTTP failure, etc.)
processed_atdatetime | nullWhen the record received its final status

Status Values

ValueSource
PendingDefault, before processing
ValidValidator returned Valid
InvalidValidator returned Invalid
UnknownValidator returned No Email (catch-all or undeliverable)
ErrorThe batch this record was in failed; check error_message

Validator Values

validator_used reflects which stage of the validation cascade gave the final answer.

ValueNotes
ZeroBounceFirst external validator; most addresses resolve here
RevenueBaseSecond opinion when ZeroBounce returns Catch-All / Unknown
SMTPDirect deliverability check; last resort
nullRecord has not been processed yet, or the batch errored

The boolean is_cached is true whenever the answer came from a 30-day cache — independent of which validator produced the original answer.

Error Responses

HTTPBodyWhen
401{"detail": "Invalid token."}Missing or invalid token
404{"detail": "Not found."}job_id doesn't exist or belongs to another user
400{"error": "Invalid status filter."}status value not recognized

See Error Codes for the full list.