---
title: "Get email validation job results"
method: GET
path: "/v1/email-validation/{job_id}/"
tags: ["Email Verifier"]
---

# Get email validation job results

`GET /v1/email-validation/{job_id}/`

## Request

- Base URL: `https://api.evaboot.com`
- URL: `https://api.evaboot.com/v1/email-validation/{job_id}/`
- Auth: HTTP bearer

Retrieve one bulk email-verification job, using the `job_id` returned when you created it.

This is the polling endpoint. While the job is still queued or running it returns `202` with the current `status` and `progress`; once every address has been processed it returns `200` with the full list of verdicts. Poll every few seconds, or supply a `webhook_url` at creation time and skip polling altogether. It also serves a single verification that answered `202`; one whose credits could not be taken returns `402` instead of its verdict.

Synchronous and free: reading a job costs no credits. The credits for the addresses verified were charged when the job completed.

## Path parameters

- `job_id` string, required

## Response `200`

OK

- EmailValidationJobOut: Bulk job response (completed). ``id`` is the bubble_job_id.
  - `id` string, required: Identifier of the job.
  - `status` string, required: `complete` when every address has been processed, `failed` when the job could not finish.
  - `created_at` string, required: When the job was created.
  - `updated_at` string, required: When the job last changed.
  - `progress` integer: Percentage of addresses processed, from 0 to 100.
  - `error_message` string: Why the job failed. Empty when it completed normally.
  - `prospects` EmailValidationJobProspectOut[], required: One verification result per submitted address.
    - `id` string: Identifier of this address within the job.
    - `email` string: The email address that was submitted for verification.
    - `email_validity` string, nullable: Deliverability verdict: `safe` (deliverable), `riskier` (deliverable but lower confidence), `suspect` (could not be confirmed) or `invalid` (undeliverable). Null when verification did not complete.
    - `status` string: Per-address progress: `pending`, `processing`, `complete` once a verdict was reached, or `failed` when verification could not run.
    - `error_message` string, nullable: Why this address could not be verified. Null when it succeeded.
  - `job_type` string: Always `email_validation` for jobs created here.
  - `write_back` WriteBackOut[]: One entry per integration the statuses are written back to. Empty unless the job was created with `write_back`.
    - `integration_id` string, required: The integration written to.
    - `delivery_id` string, required: Identifier of this write-back, for support.
    - `status` string, required: `running`, `completed` or `failed`.
    - `error` string: Why it failed, when it did.
    - `counts` WriteBackCountsOut
      - `updated` integer: Records that received the result.
      - `skipped` object: Records left unchanged, by reason: `has_email`, `has_status`, `email_changed`, `record_missing`, `no_email`, `email_status`, `duplicate`.
      - `failed` integer: Records the integration refused.

## Other responses

- `202`: Accepted
- `401`: The API key is missing, malformed or unknown.
- `402`: Not enough credits to cover the request.
- `404`: No such resource, or it belongs to another account.

---

[API](https://skmtc.dev/evaboot/apis/evaboot-public-api.md) · [All operations](https://skmtc.dev/evaboot/apis/evaboot-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/evaboot/apis/evaboot-public-api/revisions/d770494f2718?raw)
