{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/evaboot-com/json-schema/evaboot-com-email-validation-job-in-schema.json",
  "title": "EmailValidationJobIn",
  "description": "Bulk email-validation request. Same shape as the finder job\nminus the name/company fields. Matches legacy\n``EmailValidationJobSerializer``.",
  "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/EmailValidationJobIn",
  "properties": {
    "job_name": {
      "default": "",
      "description": "Your own label for the job, so you can recognize it later in the Evaboot dashboard.",
      "title": "Job Name",
      "type": "string"
    },
    "webhook_url": {
      "default": "",
      "description": "Optional HTTPS URL to notify when the job finishes. It receives a POST carrying the same payload as the job-retrieval endpoint. Leave empty to poll instead.",
      "title": "Webhook Url",
      "type": "string"
    },
    "prospects": {
      "description": "The addresses to verify, one entry per address. Leave empty when sending `source`.",
      "items": {
        "$ref": "#/$defs/EmailValidationProspectIn"
      },
      "title": "Prospects",
      "type": "array"
    },
    "source": {
      "anyOf": [
        {
          "$ref": "#/$defs/LeadSourceIn"
        },
        {
          "type": "null"
        }
      ],
      "description": "Read the addresses from a connected integration instead: every lead with an email, up to `max_leads` read. Cannot be combined with `prospects`."
    },
    "write_back": {
      "default": false,
      "description": "Write each result back onto the record its prospect's `source_ref` points to, once the job is paid for. Fills empty fields only and never creates a record.",
      "title": "Write Back",
      "type": "boolean"
    }
  },
  "type": "object",
  "$defs": {
    "EmailValidationProspectIn": {
      "description": "One prospect inside a bulk email-validation job — just the\naddress. Matches legacy ``EmailValidationProspectSerializer``.",
      "properties": {
        "email": {
          "description": "The email address to verify.",
          "title": "Email",
          "type": "string"
        },
        "source_ref": {
          "default": "",
          "description": "Optional. The `source_ref` of a lead read from a connected integration. With `write_back` on, the result is written back to that record.",
          "title": "Source Ref",
          "type": "string"
        }
      },
      "required": [
        "email"
      ],
      "title": "EmailValidationProspectIn",
      "type": "object"
    },
    "LeadSourceIn": {
      "properties": {
        "integration_id": {
          "description": "A connected integration, from `GET /v1/integrations/`.",
          "format": "uuid",
          "title": "Integration Id",
          "type": "string"
        },
        "source_id": {
          "description": "A source of that integration, from `GET /v1/integrations/{id}/sources/`.",
          "title": "Source Id",
          "type": "string"
        },
        "max_leads": {
          "default": 2500,
          "description": "Most leads to read from the source. The job costs at most this many credits.",
          "maximum": 10000,
          "minimum": 1,
          "title": "Max Leads",
          "type": "integer"
        }
      },
      "required": [
        "integration_id",
        "source_id"
      ],
      "title": "LeadSourceIn",
      "type": "object"
    }
  }
}