{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://socialcrawl.dev/schemas/job.json",
  "title": "SocialCrawl Job",
  "description": "Canonical unified job posting object returned by every SocialCrawl endpoint with the Job/JobList archetype. Nullability is expressed via JSON Schema 2020-12 type arrays. Generated from the Zod schema in packages/social-api/src/schemas/canonical.ts.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "String at job.id"
    },
    "title": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.title"
    },
    "url": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.url"
    },
    "company": {
      "type": "object",
      "description": "Nested object: job.company",
      "properties": {
        "id": {
          "type": [
            "string",
            "null"
          ],
          "description": "String at job.company.id"
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "String at job.company.name"
        },
        "url": {
          "type": [
            "string",
            "null"
          ],
          "description": "String at job.company.url"
        },
        "verified": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Boolean at job.company.verified"
        }
      }
    },
    "location": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.location"
    },
    "listed_at": {
      "type": [
        "string",
        "integer",
        "null"
      ],
      "description": "Union: string | integer | null"
    },
    "easy_apply": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Boolean at job.easy_apply"
    },
    "remote": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.remote"
    },
    "employment_type": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.employment_type"
    },
    "experience_level": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.experience_level"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.description"
    },
    "apply_url": {
      "type": [
        "string",
        "null"
      ],
      "description": "String at job.apply_url"
    },
    "ext": {
      "type": [
        "object",
        "null"
      ],
      "description": "Nested object: job.ext",
      "properties": {
        "is_promote": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Boolean at job.ext.is_promote"
        },
        "applicant_count": {
          "type": [
            "integer",
            "null"
          ],
          "description": "Numeric at job.ext.applicant_count"
        },
        "skills": {
          "type": [
            "array",
            "null"
          ],
          "description": "Array at job.ext.skills",
          "items": {
            "type": "string",
            "description": "String at job.ext.skills"
          }
        }
      }
    }
  },
  "additionalProperties": true
}
