{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/evaboot-com/json-schema/evaboot-com-email-finder-job-out-schema.json",
  "title": "EmailFinderJobOut",
  "description": "Bulk job response (completed) — matches legacy\n``EmailFinderJobDetailSerializer``.",
  "x-generated": "2026-11-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/evaboot-com-openapi.json#/components/schemas/EmailFinderJobOut",
  "properties": {
    "id": {
      "description": "Identifier of the job, as returned when you created it.",
      "title": "Id",
      "type": "string"
    },
    "status": {
      "description": "Job status: `pending`, `running`, `complete` or `failed`.",
      "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 the job's prospects that have finished, from 0 to 100.",
      "title": "Progress",
      "type": "integer"
    },
    "prospect_count": {
      "description": "Number of prospects submitted.",
      "title": "Prospect Count",
      "type": "integer"
    },
    "error_message": {
      "default": "",
      "description": "Job-level failure message. Empty when the job itself did not fail; a single prospect failing is reported on that prospect.",
      "title": "Error Message",
      "type": "string"
    },
    "job_type": {
      "default": "email_finder",
      "description": "Always `email_finder` for jobs created on this endpoint.",
      "title": "Job Type",
      "type": "string"
    },
    "prospects": {
      "description": "One result per prospect submitted, in the order received.",
      "items": {
        "$ref": "#/$defs/EmailFinderProspectOut"
      },
      "title": "Prospects",
      "type": "array"
    },
    "write_back": {
      "description": "One entry per integration the results 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",
    "prospect_count",
    "prospects"
  ],
  "type": "object",
  "$defs": {
    "EmailFinderProspectOut": {
      "properties": {
        "id": {
          "default": "",
          "description": "Identifier of this prospect within the job.",
          "title": "Id",
          "type": "string"
        },
        "first_name": {
          "default": "",
          "description": "First name as submitted.",
          "title": "First Name",
          "type": "string"
        },
        "last_name": {
          "default": "",
          "description": "Last name as submitted.",
          "title": "Last Name",
          "type": "string"
        },
        "full_name": {
          "default": "",
          "description": "First and last name joined, for convenience.",
          "title": "Full Name",
          "type": "string"
        },
        "company_name": {
          "default": "",
          "description": "Company name as submitted.",
          "title": "Company Name",
          "type": "string"
        },
        "company_domain": {
          "default": "",
          "description": "Company domain as submitted.",
          "title": "Company Domain",
          "type": "string"
        },
        "found_email": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "The email address we found, or `null` when no address could be found for this prospect.",
          "title": "Found Email"
        },
        "email_validity": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Deliverability verdict for `found_email`: `safe` (deliverable), `riskier` (accepts mail but less certain), `suspect` or `invalid`. `null` when no email was found.",
          "title": "Email Validity"
        },
        "status": {
          "default": "",
          "description": "Outcome for this prospect: `pending` (queued), `processing` (being looked up), `complete` (finished, see `found_email`) or `failed` (no email found, or the lookup errored).",
          "title": "Status",
          "type": "string"
        },
        "error_message": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Why this prospect failed, or `null` when it did not fail.",
          "title": "Error Message"
        }
      },
      "title": "EmailFinderProspectOut",
      "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"
    }
  }
}