{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/evaboot-com/json-schema/evaboot-com-email-validation-job-out-schema.json",
  "title": "EmailValidationJobOut",
  "description": "Bulk job response (completed). ``id`` is the bubble_job_id.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/evaboot-com-email-verifier-api-openapi.yml#/components/schemas/EmailValidationJobOut",
  "properties": {
    "id": {
      "description": "Identifier of the job.",
      "title": "Id",
      "type": "string"
    },
    "status": {
      "description": "`complete` when every address has been processed, `failed` when the job could not finish.",
      "title": "Status",
      "type": "string"
    },
    "created_at": {
      "description": "When the job was created.",
      "title": "Created At",
      "type": "string"
    },
    "updated_at": {
      "description": "When the job last changed.",
      "title": "Updated At",
      "type": "string"
    },
    "progress": {
      "default": 0,
      "description": "Percentage of addresses processed, from 0 to 100.",
      "title": "Progress",
      "type": "integer"
    },
    "error_message": {
      "default": "",
      "description": "Why the job failed. Empty when it completed normally.",
      "title": "Error Message",
      "type": "string"
    },
    "prospects": {
      "description": "One verification result per submitted address.",
      "items": {
        "$ref": "#/$defs/EmailValidationJobProspectOut"
      },
      "title": "Prospects",
      "type": "array"
    },
    "job_type": {
      "default": "email_validation",
      "description": "Always `email_validation` for jobs created here.",
      "title": "Job Type",
      "type": "string"
    },
    "write_back": {
      "description": "One entry per integration the statuses are written back to. Empty unless the job was created with `write_back`.",
      "items": {
        "$ref": "#/$defs/WriteBackOut"
      },
      "title": "Write Back",
      "type": "array"
    }
  },
  "required": [
    "id",
    "status",
    "created_at",
    "updated_at",
    "prospects"
  ],
  "type": "object",
  "$defs": {
    "EmailValidationJobProspectOut": {
      "properties": {
        "id": {
          "default": "",
          "description": "Identifier of this address within the job.",
          "title": "Id",
          "type": "string"
        },
        "email": {
          "default": "",
          "description": "The email address that was submitted for verification.",
          "title": "Email",
          "type": "string"
        },
        "email_validity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deliverability verdict: `safe` (deliverable), `riskier` (deliverable but lower confidence), `suspect` (could not be confirmed) or `invalid` (undeliverable). Null when verification did not complete.",
          "title": "Email Validity"
        },
        "status": {
          "default": "",
          "description": "Per-address progress: `pending`, `processing`, `complete` once a verdict was reached, or `failed` when verification could not run.",
          "title": "Status",
          "type": "string"
        },
        "error_message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Why this address could not be verified. Null when it succeeded.",
          "title": "Error Message"
        }
      },
      "title": "EmailValidationJobProspectOut",
      "type": "object"
    },
    "WriteBackCountsOut": {
      "properties": {
        "updated": {
          "default": 0,
          "description": "Records that received the result.",
          "title": "Updated",
          "type": "integer"
        },
        "skipped": {
          "additionalProperties": {
            "type": "integer"
          },
          "description": "Records left unchanged, by reason: `has_email`, `has_status`, `email_changed`, `record_missing`, `no_email`, `email_status`, `duplicate`.",
          "title": "Skipped",
          "type": "object"
        },
        "failed": {
          "default": 0,
          "description": "Records the integration refused.",
          "title": "Failed",
          "type": "integer"
        }
      },
      "title": "WriteBackCountsOut",
      "type": "object"
    },
    "WriteBackOut": {
      "properties": {
        "integration_id": {
          "description": "The integration written to.",
          "title": "Integration Id",
          "type": "string"
        },
        "delivery_id": {
          "description": "Identifier of this write-back, for support.",
          "title": "Delivery Id",
          "type": "string"
        },
        "status": {
          "description": "`running`, `completed` or `failed`.",
          "title": "Status",
          "type": "string"
        },
        "error": {
          "default": "",
          "description": "Why it failed, when it did.",
          "title": "Error",
          "type": "string"
        },
        "counts": {
          "anyOf": [
            {
              "$ref": "#/$defs/WriteBackCountsOut"
            },
            {
              "type": "null"
            }
          ],
          "description": "What happened to the records, once known."
        }
      },
      "required": [
        "integration_id",
        "delivery_id",
        "status"
      ],
      "title": "WriteBackOut",
      "type": "object"
    }
  }
}