{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/crawdar-com/json-schema/crawdar-com-search-job-page-schema.json",
  "title": "SearchJobPage",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/crawdar-com-openapi.yml#/components/schemas/SearchJobPage",
  "type": "object",
  "required": [
    "id",
    "status",
    "resultCount",
    "returned",
    "results"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "status": {
      "enum": [
        "queued",
        "running",
        "completed",
        "failed",
        "canceled"
      ]
    },
    "progress": {
      "type": "object",
      "additionalProperties": true
    },
    "schemaVersion": {
      "type": "string"
    },
    "resultCount": {
      "type": "integer"
    },
    "returned": {
      "type": "integer"
    },
    "results": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Result"
      }
    },
    "nextCursor": {
      "type": [
        "string",
        "null"
      ]
    },
    "diagnostics": {
      "$ref": "#/$defs/Diagnostics"
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "searchedSources": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "completedAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  },
  "$defs": {
    "ContactRoute": {
      "type": "object",
      "required": [
        "status",
        "type",
        "value",
        "sourceUrl",
        "confidence",
        "reason"
      ],
      "properties": {
        "status": {
          "enum": [
            "confirmed",
            "route_available",
            "not_found"
          ]
        },
        "type": {
          "enum": [
            "public_role_email",
            "public_phone",
            "website",
            "none"
          ]
        },
        "value": {
          "type": "string"
        },
        "sourceUrl": {
          "type": "string"
        },
        "confidence": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "Diagnostics": {
      "type": "object",
      "required": [
        "discoveredCandidates",
        "inspectedCandidates",
        "acceptedResults",
        "verifiedResults",
        "likelyResults",
        "rejectedCandidates",
        "sourceStatus"
      ],
      "properties": {
        "discoveredCandidates": {
          "type": "integer"
        },
        "inspectedCandidates": {
          "type": "integer"
        },
        "acceptedResults": {
          "type": "integer"
        },
        "verifiedResults": {
          "type": "integer"
        },
        "likelyResults": {
          "type": "integer"
        },
        "rejectedCandidates": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "name",
              "url",
              "reason"
            ],
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              }
            }
          }
        },
        "sourceStatus": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "source",
              "status",
              "detail"
            ],
            "properties": {
              "source": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "complete",
                  "partial",
                  "failed"
                ]
              },
              "detail": {
                "type": "string"
              }
            }
          }
        },
        "providerRequests": {
          "type": "object",
          "required": [
            "attempted",
            "succeeded",
            "failed",
            "denied"
          ],
          "properties": {
            "attempted": {
              "type": "integer"
            },
            "succeeded": {
              "type": "integer"
            },
            "failed": {
              "type": "integer"
            },
            "denied": {
              "type": "integer"
            }
          }
        }
      }
    },
    "Evidence": {
      "type": "object",
      "required": [
        "label",
        "url",
        "kind"
      ],
      "properties": {
        "label": {
          "type": "string"
        },
        "url": {
          "type": "string",
          "format": "uri"
        },
        "kind": {
          "type": "string"
        }
      }
    },
    "ProspectCriterion": {
      "type": "object",
      "required": [
        "criterion",
        "status",
        "evidence",
        "sourceUrl"
      ],
      "properties": {
        "criterion": {
          "type": "string"
        },
        "status": {
          "enum": [
            "confirmed",
            "unknown",
            "contradicted"
          ]
        },
        "evidence": {
          "type": "string"
        },
        "sourceUrl": {
          "type": "string"
        }
      }
    },
    "QualificationCheck": {
      "type": "object",
      "required": [
        "requirement",
        "status",
        "excerpt",
        "sourceUrl"
      ],
      "properties": {
        "requirement": {
          "type": "string"
        },
        "status": {
          "enum": [
            "passed",
            "failed",
            "unverified"
          ]
        },
        "excerpt": {
          "type": "string"
        },
        "sourceUrl": {
          "type": "string"
        }
      }
    },
    "Result": {
      "type": "object",
      "required": [
        "name",
        "prospectStatus",
        "whyMatch",
        "criteria",
        "contactRoute",
        "fitStatus",
        "entityConfidence",
        "qualificationConfidence",
        "evidence",
        "qualificationChecks"
      ],
      "properties": {
        "name": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "websiteUrl": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "phone": {
          "type": "string"
        },
        "prospectStatus": {
          "enum": [
            "qualified",
            "possible"
          ],
          "description": "Qualified means all retained criteria are confirmed. Possible means one or more criteria remain unknown."
        },
        "whyMatch": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "criteria": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ProspectCriterion"
          }
        },
        "contactRoute": {
          "$ref": "#/$defs/ContactRoute"
        },
        "fitStatus": {
          "enum": [
            "verified",
            "likely"
          ],
          "description": "Verified means every requested qualification check passed. Likely means at least one check is open or unverified."
        },
        "confidence": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "entityConfidence": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "qualificationConfidence": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100
        },
        "evidenceQuality": {
          "enum": [
            "strong",
            "moderate",
            "weak"
          ]
        },
        "evidence": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Evidence"
          }
        },
        "qualificationChecks": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/QualificationCheck"
          }
        }
      }
    }
  }
}