{
  "openapi": "3.1.0",
  "info": {
    "title": "Company publishing API",
    "version": "1.1.0",
    "description": "Headless company profiles and job advertisements, plus /api/v1/me for a candidate's own account with a personal access token (jpme_). Public browser reads require no key. Private Bearer tokens belong on your server. Verified self-service and operator-provisioned company accounts; company tokens never expose candidate or recruiter data, and candidate tokens reach only their owner's account. Legacy writes carry the reviewed aggregate revision; employer job writes require the reviewed job revision. Browser Origin or Cookie headers are rejected by the employer bearer API. Compensation narrative is authoritative; numeric values always include currency and unit. rolefig's public gateway bounds write requests to 64 KiB. /api/v2/companies adds the facts search engines use (datePosted, dateModified, structured addresses, remote eligibility, education and experience); v2 readers must ignore fields they do not know. /api/v1 company and publisher responses keep their original fields exactly. The employer API returns the company's complete private snapshot, including those facts."
  },
  "servers": [
    {
      "url": "https://rolefig.com"
    }
  ],
  "paths": {
    "/api/v1/companies": {
      "get": {
        "operationId": "listPublishedCompanies",
        "description": "Discover public company profiles. Follow nextCursor for the next page; no identity or applicant data is returned.",
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectory"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "400": {
            "description": "Invalid cursor, limit or search query"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/companies/{slug}": {
      "get": {
        "operationId": "getCompany",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCatalog"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/companies/{slug}/jobs": {
      "get": {
        "operationId": "listCompanyJobs",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobList"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/companies/{slug}/jobs/{jobSlug}": {
      "get": {
        "operationId": "getCompanyJob",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          },
          {
            "name": "jobSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDetail"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v2/companies": {
      "get": {
        "operationId": "listPublishedCompaniesV2",
        "description": "Feed v2 directory: the same companies and cursor as v1.",
        "parameters": [
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100,
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 20
            }
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicDirectoryV2"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "400": {
            "description": "Invalid cursor, limit or search query"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v2/companies/{slug}": {
      "get": {
        "operationId": "getCompanyV2",
        "description": "A company and its current openings, with the facts search engines use.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublicCatalogV2"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v2/companies/{slug}/jobs": {
      "get": {
        "operationId": "listCompanyJobsV2",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobListV2"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v2/companies/{slug}/jobs/{jobSlug}": {
      "get": {
        "operationId": "getCompanyJobV2",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          },
          {
            "name": "jobSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDetailV2"
                }
              }
            }
          },
          "304": {
            "description": "Published content unchanged"
          },
          "404": {
            "description": "Company or opening is not currently published"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v2/openings": {
      "get": {
        "operationId": "listOpenings",
        "description": "Every current public opening across companies, newest first (sort=pay for the best-paid first, by annual minimum in USD). The same expiry and self-service visibility rules as company reads. Follow nextCursor for the next page; a cursor belongs to its sort.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "Words that must all appear in the title, department, location or company"
          },
          {
            "name": "workplace",
            "in": "query",
            "schema": {
              "type": "array",
              "maxItems": 3,
              "items": {
                "type": "string",
                "enum": [
                  "remote",
                  "hybrid",
                  "on-site"
                ]
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "type",
            "in": "query",
            "schema": {
              "type": "array",
              "maxItems": 3,
              "items": {
                "type": "string",
                "enum": [
                  "full-time",
                  "part-time",
                  "contract"
                ]
              }
            },
            "style": "form",
            "explode": true
          },
          {
            "name": "country",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^[A-Za-z]{2}$"
            },
            "description": "An address country or remote-eligible country"
          },
          {
            "name": "region",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 100
            },
            "description": "A state or region code, for example CA"
          },
          {
            "name": "company",
            "in": "query",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          },
          {
            "name": "postedWithin",
            "in": "query",
            "schema": {
              "type": "integer",
              "enum": [
                7,
                30
              ]
            },
            "description": "Days; undated openings are excluded"
          },
          {
            "name": "minPay",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 10000000
            },
            "description": "Minimum annual pay in USD; hourly, daily, weekly and monthly pay is annualized"
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "newest",
                "pay"
              ],
              "default": "newest"
            }
          },
          {
            "name": "after",
            "in": "query",
            "schema": {
              "type": "string",
              "maxLength": 500
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A page of current openings, each a job summary; read the full posting from its company feed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Openings"
                }
              }
            }
          },
          "304": {
            "description": "Openings unchanged"
          },
          "400": {
            "description": "Invalid query or cursor"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/employer/company": {
      "get": {
        "operationId": "getEmployerCompany",
        "security": [
          {
            "companyToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerCompany"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      },
      "put": {
        "operationId": "updateEmployerCompany",
        "security": [
          {
            "companyToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerCompanyUpdateResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/employer/jobs": {
      "get": {
        "operationId": "getEmployerJobs",
        "security": [
          {
            "companyToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerJobs"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      },
      "post": {
        "operationId": "createEmployerDraft",
        "description": "Save a durable draft. Identical draft-id retries deduplicate; changed retries fail. Does not publish.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployerDraft"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerDraftResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/employer/jobs/{id}": {
      "put": {
        "operationId": "editEmployerJob",
        "description": "Save current role details. Requires its exact current revision and invalidates publication approval.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployerEdit"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerEditResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/employer/jobs/publish": {
      "post": {
        "operationId": "publishEmployerJob",
        "description": "Publish or reopen only after explicit employer confirmation of real pay, requirements and review capacity. Requires verified ownership and the exact current job revision. Consumes a new job revision.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployerReview"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerPublished"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/employer/jobs/{id}/status": {
      "post": {
        "operationId": "setEmployerJobStatus",
        "description": "Pause, close or archive a role and remove it from public listings and matching.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EmployerStatus"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EmployerStatusResult"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/me/me": {
      "get": {
        "operationId": "getAccount",
        "description": "Your verified identity, profile and any company you own.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/profile": {
      "get": {
        "operationId": "getProfile",
        "description": "Your structured profile, current revision and approval state.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      },
      "put": {
        "operationId": "saveProfile",
        "description": "Save the complete profile at its exact current revision. Saving clears approval.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileSave"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/profile/approve": {
      "post": {
        "operationId": "approveProfile",
        "description": "Approve the exact saved revision after the candidate reviews it.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProfileApproval"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/profile/pause": {
      "post": {
        "operationId": "pauseProfile",
        "description": "Pause discovery, introductions and automatic applications.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/search": {
      "get": {
        "operationId": "getSearch",
        "description": "Automatic search policy, monthly allowance and receipts.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      },
      "put": {
        "operationId": "saveSearch",
        "description": "Save the automatic application policy with acknowledgement and a finite monthly limit.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchPolicy"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/search/run": {
      "post": {
        "operationId": "runSearch",
        "description": "Run the saved automatic search within its approved limits. Send {}.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/opportunities": {
      "get": {
        "operationId": "getOpportunities",
        "description": "Introductions and current first-party roles.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/apply": {
      "post": {
        "operationId": "applyToRole",
        "description": "Apply with the approved profile on the candidate's explicit request.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DirectApplication"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/respond": {
      "post": {
        "operationId": "respondToIntroduction",
        "description": "Accept, decline or withdraw from an introduction on the candidate's decision.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntroductionDecision"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/applications": {
      "get": {
        "operationId": "getApplications",
        "description": "Shared applications, confirmed interviews and offers.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/applications/offer": {
      "post": {
        "operationId": "respondToOffer",
        "description": "Accept or decline a current offer on the candidate's explicit decision.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OfferResponse"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Read-only token, or a browser Origin/Cookie header"
          },
          "409": {
            "description": "Stale revision or workflow conflict; read the current state before retrying"
          },
          "413": {
            "description": "Request exceeds limits"
          },
          "415": {
            "description": "Send JSON"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/me/export": {
      "get": {
        "operationId": "exportAccount",
        "description": "Complete account export, including token metadata but never token values.",
        "security": [
          {
            "candidateToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current account state",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "401": {
            "description": "Missing, expired or revoked token, or unverified email"
          },
          "403": {
            "description": "Browser Origin/Cookie header"
          },
          "503": {
            "description": "Candidate accounts unavailable"
          }
        }
      }
    },
    "/api/v1/publisher/company": {
      "get": {
        "operationId": "getPublisherSnapshot",
        "security": [
          {
            "companyToken": []
          }
        ],
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublisherSnapshot"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      },
      "put": {
        "operationId": "updateCompany",
        "description": "Legacy imported catalogs only. Self-service companies must use /api/v1/employer/company.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CompanyUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublisherSnapshot"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    },
    "/api/v1/publisher/jobs/{jobSlug}": {
      "put": {
        "operationId": "upsertCompanyJob",
        "description": "Legacy imported catalogs only. Self-service roles must use the employer API review lifecycle.",
        "security": [
          {
            "companyToken": []
          }
        ],
        "parameters": [
          {
            "name": "jobSlug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
              "maxLength": 100
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Current revision",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublisherSnapshot"
                }
              }
            }
          },
          "400": {
            "description": "Invalid request"
          },
          "401": {
            "description": "Missing, expired or revoked token"
          },
          "403": {
            "description": "Scope or ownership denied"
          },
          "409": {
            "description": "Stale expectedRevision; retrieve and review before retrying"
          },
          "412": {
            "description": "If-Match disagrees with expectedRevision"
          },
          "413": {
            "description": "Request or aggregate exceeds limits"
          },
          "503": {
            "description": "Publishing unavailable; do not fall back to withdrawn content"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "candidateToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "jpme_<random-token>",
        "description": "Personal access token for the candidate's own account, issued and revoked on the account page. Read-only or read and write; expires within one year. Never embed in browser JavaScript."
      },
      "companyToken": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "stpub_<random-token>",
        "description": "Company-scoped, expiring credential. Never embed in browser JavaScript."
      }
    },
    "schemas": {
      "EmployerCompany": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "company": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "companyId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "agencyId": {
                    "type": "string",
                    "format": "uuid",
                    "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                  },
                  "hostname": {
                    "type": "string"
                  },
                  "verifiedAt": {
                    "anyOf": [
                      {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "verificationMethod": {
                    "anyOf": [
                      {
                        "type": "string",
                        "enum": [
                          "dns",
                          "email_domain"
                        ]
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "catalog": {
                    "type": "object",
                    "properties": {
                      "version": {
                        "type": "string",
                        "const": "1"
                      },
                      "company": {
                        "type": "object",
                        "properties": {
                          "slug": {
                            "type": "string",
                            "maxLength": 100,
                            "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                          },
                          "name": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "website": {
                            "type": "string",
                            "format": "uri"
                          },
                          "tagline": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 300
                          },
                          "description": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 20000
                          },
                          "industry": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "locations": {
                            "minItems": 1,
                            "maxItems": 30,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            }
                          },
                          "logoUrl": {
                            "type": "string",
                            "format": "uri"
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "draft",
                              "published"
                            ]
                          }
                        },
                        "required": [
                          "slug",
                          "name",
                          "website",
                          "tagline",
                          "description",
                          "industry",
                          "locations",
                          "status"
                        ],
                        "additionalProperties": false
                      },
                      "jobs": {
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "slug": {
                              "type": "string",
                              "maxLength": 100,
                              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                            },
                            "title": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "description": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 30000
                            },
                            "department": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 200
                            },
                            "employmentType": {
                              "type": "string",
                              "enum": [
                                "full-time",
                                "part-time",
                                "contract"
                              ]
                            },
                            "workplaceType": {
                              "type": "string",
                              "enum": [
                                "remote",
                                "hybrid",
                                "on-site"
                              ]
                            },
                            "location": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 300
                            },
                            "applicantLocationRequirements": {
                              "maxItems": 20,
                              "type": "array",
                              "items": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 300
                              }
                            },
                            "compensation": {
                              "type": "object",
                              "properties": {
                                "text": {
                                  "type": "string",
                                  "minLength": 1,
                                  "maxLength": 1000
                                },
                                "currency": {
                                  "type": "string",
                                  "pattern": "^[A-Z]{3}$"
                                },
                                "min": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "max": {
                                  "type": "number",
                                  "minimum": 0
                                },
                                "unit": {
                                  "type": "string",
                                  "enum": [
                                    "year",
                                    "month",
                                    "week",
                                    "day",
                                    "hour"
                                  ]
                                }
                              },
                              "required": [
                                "text"
                              ],
                              "additionalProperties": false
                            },
                            "sections": {
                              "maxItems": 30,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "heading": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 300
                                  },
                                  "items": {
                                    "minItems": 1,
                                    "maxItems": 100,
                                    "type": "array",
                                    "items": {
                                      "type": "string",
                                      "minLength": 1,
                                      "maxLength": 10000
                                    }
                                  }
                                },
                                "required": [
                                  "heading",
                                  "items"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "applyUrl": {
                              "type": "string",
                              "format": "uri"
                            },
                            "sourceUrl": {
                              "type": "string",
                              "format": "uri"
                            },
                            "validThrough": {
                              "type": "string",
                              "format": "date-time",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                            },
                            "status": {
                              "type": "string",
                              "enum": [
                                "draft",
                                "published",
                                "closed"
                              ]
                            },
                            "managedJobId": {
                              "type": "string",
                              "format": "uuid",
                              "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                            },
                            "sourceRevision": {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            "revision": {
                              "type": "integer",
                              "exclusiveMinimum": 0,
                              "maximum": 9007199254740991
                            },
                            "datePosted": {
                              "anyOf": [
                                {
                                  "type": "string",
                                  "format": "date",
                                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                                },
                                {
                                  "type": "string",
                                  "format": "date-time",
                                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                                }
                              ]
                            },
                            "addresses": {
                              "minItems": 1,
                              "maxItems": 10,
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "streetAddress": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 200
                                  },
                                  "locality": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 100
                                  },
                                  "region": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 100
                                  },
                                  "postalCode": {
                                    "type": "string",
                                    "minLength": 1,
                                    "maxLength": 20
                                  },
                                  "country": {
                                    "type": "string",
                                    "pattern": "^[A-Z]{2}$"
                                  }
                                },
                                "required": [
                                  "locality",
                                  "country"
                                ],
                                "additionalProperties": false
                              }
                            },
                            "remoteEligibility": {
                              "type": "object",
                              "properties": {
                                "countries": {
                                  "minItems": 1,
                                  "maxItems": 50,
                                  "type": "array",
                                  "items": {
                                    "type": "string",
                                    "pattern": "^[A-Z]{2}$"
                                  }
                                },
                                "regions": {
                                  "maxItems": 60,
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "country": {
                                        "type": "string",
                                        "pattern": "^[A-Z]{2}$"
                                      },
                                      "code": {
                                        "type": "string",
                                        "minLength": 1,
                                        "maxLength": 100
                                      }
                                    },
                                    "required": [
                                      "country",
                                      "code"
                                    ],
                                    "additionalProperties": false
                                  }
                                }
                              },
                              "required": [
                                "countries"
                              ],
                              "additionalProperties": false
                            },
                            "educationLevel": {
                              "type": "string",
                              "enum": [
                                "none",
                                "high-school",
                                "associate",
                                "bachelor",
                                "professional-certificate",
                                "postgraduate"
                              ]
                            },
                            "experienceMonths": {
                              "type": "integer",
                              "minimum": 0,
                              "maximum": 600
                            },
                            "experienceInPlaceOfEducation": {
                              "type": "boolean"
                            },
                            "dateModified": {
                              "type": "string",
                              "format": "date-time",
                              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                            }
                          },
                          "required": [
                            "slug",
                            "title",
                            "description",
                            "employmentType",
                            "workplaceType",
                            "location",
                            "compensation",
                            "sections",
                            "applyUrl",
                            "status",
                            "revision"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "revision": {
                        "type": "integer",
                        "exclusiveMinimum": 0,
                        "maximum": 9007199254740991
                      }
                    },
                    "required": [
                      "version",
                      "company",
                      "jobs",
                      "revision"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "companyId",
                  "agencyId",
                  "hostname",
                  "verifiedAt",
                  "verificationMethod",
                  "catalog"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "company"
        ],
        "additionalProperties": false
      },
      "EmployerJobs": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "job": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "default": "open",
                      "type": "string",
                      "enum": [
                        "draft",
                        "open",
                        "paused",
                        "closed",
                        "archived"
                      ]
                    },
                    "title": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "client": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "location": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "positions": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 1000
                    },
                    "pay": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "shift": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "startDate": {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    "requirements": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 2000
                    },
                    "recipientName": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "recipientEmail": {
                      "type": "string",
                      "maxLength": 254,
                      "format": "email",
                      "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
                    },
                    "requiredFields": {
                      "minItems": 1,
                      "maxItems": 6,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "availability",
                          "pay",
                          "shift",
                          "travel",
                          "qualification",
                          "interest"
                        ]
                      }
                    },
                    "publishingManaged": {
                      "type": "boolean"
                    },
                    "id": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "revision": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "statusHistory": {
                      "default": [],
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "from": {
                            "type": "string",
                            "enum": [
                              "draft",
                              "open",
                              "paused",
                              "closed",
                              "archived"
                            ]
                          },
                          "to": {
                            "type": "string",
                            "enum": [
                              "draft",
                              "open",
                              "paused",
                              "closed",
                              "archived"
                            ]
                          },
                          "reason": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 2000
                          },
                          "recordedAt": {
                            "type": "string",
                            "format": "date-time",
                            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                          },
                          "recordedBy": {
                            "type": "string",
                            "format": "uuid",
                            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                          }
                        },
                        "required": [
                          "from",
                          "to",
                          "reason",
                          "recordedAt",
                          "recordedBy"
                        ],
                        "additionalProperties": false
                      }
                    }
                  },
                  "required": [
                    "status",
                    "title",
                    "client",
                    "location",
                    "positions",
                    "pay",
                    "shift",
                    "startDate",
                    "requirements",
                    "recipientName",
                    "recipientEmail",
                    "requiredFields",
                    "id",
                    "revision",
                    "statusHistory"
                  ],
                  "additionalProperties": false
                },
                "draft": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    },
                    "title": {
                      "type": "string",
                      "minLength": 3,
                      "maxLength": 120
                    },
                    "company": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 200
                    },
                    "category": {
                      "type": "string",
                      "maxLength": 200
                    },
                    "location": {
                      "type": "string",
                      "minLength": 2,
                      "maxLength": 120
                    },
                    "arrangement": {
                      "type": "string",
                      "enum": [
                        "Remote",
                        "Hybrid",
                        "On-site"
                      ]
                    },
                    "type": {
                      "type": "string",
                      "enum": [
                        "Full-time",
                        "Part-time",
                        "Contract"
                      ]
                    },
                    "payUnit": {
                      "default": "year",
                      "type": "string",
                      "enum": [
                        "year",
                        "hour"
                      ]
                    },
                    "baseMin": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1000000
                    },
                    "baseMax": {
                      "type": "number",
                      "exclusiveMinimum": 0,
                      "maximum": 1000000
                    },
                    "description": {
                      "type": "string",
                      "minLength": 40,
                      "maxLength": 6000
                    },
                    "addresses": {
                      "minItems": 1,
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "streetAddress": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "locality": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "region": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "postalCode": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 20
                          },
                          "country": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "required": [
                          "locality",
                          "country"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "remoteEligibility": {
                      "type": "object",
                      "properties": {
                        "countries": {
                          "minItems": 1,
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "regions": {
                          "maxItems": 60,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "country": {
                                "type": "string",
                                "pattern": "^[A-Z]{2}$"
                              },
                              "code": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "country",
                              "code"
                            ],
                            "additionalProperties": false
                          }
                        }
                      },
                      "required": [
                        "countries"
                      ],
                      "additionalProperties": false
                    },
                    "applicationsCloseOn": {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    "firstPostedOn": {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    "educationLevel": {
                      "type": "string",
                      "enum": [
                        "none",
                        "high-school",
                        "associate",
                        "bachelor",
                        "professional-certificate",
                        "postgraduate"
                      ]
                    },
                    "experienceMonths": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 600
                    },
                    "experienceInPlaceOfEducation": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "id",
                    "title",
                    "company",
                    "category",
                    "location",
                    "arrangement",
                    "type",
                    "payUnit",
                    "baseMin",
                    "baseMax",
                    "description"
                  ],
                  "additionalProperties": false
                },
                "brief": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {
                        "jobId": {
                          "type": "string",
                          "format": "uuid",
                          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                        },
                        "expectedJobRevision": {
                          "type": "integer",
                          "exclusiveMinimum": 0,
                          "maximum": 9007199254740991
                        },
                        "requiredSkills": {
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "trainableSkills": {
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          }
                        },
                        "locations": {
                          "minItems": 1,
                          "maxItems": 20,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          }
                        },
                        "workplaceType": {
                          "type": "string",
                          "enum": [
                            "remote",
                            "hybrid",
                            "on-site"
                          ]
                        },
                        "employmentType": {
                          "type": "string",
                          "enum": [
                            "full-time",
                            "part-time",
                            "contract"
                          ]
                        },
                        "minimumPay": {
                          "type": "number",
                          "minimum": 0,
                          "maximum": 100000000
                        },
                        "maximumPay": {
                          "type": "number",
                          "exclusiveMinimum": 0,
                          "maximum": 100000000
                        },
                        "currency": {
                          "type": "string",
                          "pattern": "^[A-Z]{3}$"
                        },
                        "payUnit": {
                          "type": "string",
                          "enum": [
                            "year",
                            "month",
                            "week",
                            "day",
                            "hour"
                          ]
                        },
                        "reviewCapacity": {
                          "type": "integer",
                          "minimum": 1,
                          "maximum": 5
                        },
                        "confirmed": {
                          "type": "boolean",
                          "const": true
                        }
                      },
                      "required": [
                        "jobId",
                        "expectedJobRevision",
                        "requiredSkills",
                        "trainableSkills",
                        "locations",
                        "workplaceType",
                        "employmentType",
                        "minimumPay",
                        "maximumPay",
                        "currency",
                        "payUnit",
                        "reviewCapacity",
                        "confirmed"
                      ],
                      "additionalProperties": false
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "publication": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "published",
                        "paused",
                        "closed",
                        "archived"
                      ]
                    },
                    "slug": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "current": {
                      "type": "boolean"
                    }
                  },
                  "required": [
                    "status",
                    "slug",
                    "url",
                    "current"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "job",
                "draft",
                "brief",
                "publication"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "jobs"
        ],
        "additionalProperties": false
      },
      "ProfileSave": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "profile": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "headline": {
                "type": "string",
                "maxLength": 300
              },
              "summary": {
                "type": "string",
                "maxLength": 6000
              },
              "sourceResume": {
                "type": "string",
                "maxLength": 20000
              },
              "location": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "skills": {
                "maxItems": 80,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              },
              "experience": {
                "maxItems": 50,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "company": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "title": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "start": {
                      "type": "string",
                      "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                    },
                    "end": {
                      "anyOf": [
                        {
                          "type": "string",
                          "pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "details": {
                      "type": "string",
                      "maxLength": 4000
                    }
                  },
                  "required": [
                    "company",
                    "title",
                    "start",
                    "end",
                    "details"
                  ],
                  "additionalProperties": false
                }
              },
              "education": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "school": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "qualification": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "year": {
                      "anyOf": [
                        {
                          "type": "integer",
                          "minimum": 1940,
                          "maximum": 2100
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "required": [
                    "school",
                    "qualification",
                    "year"
                  ],
                  "additionalProperties": false
                }
              },
              "preferences": {
                "type": "object",
                "properties": {
                  "titles": {
                    "maxItems": 20,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "locations": {
                    "maxItems": 30,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "workplaceTypes": {
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "remote",
                        "hybrid",
                        "on-site"
                      ]
                    }
                  },
                  "employmentTypes": {
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "full-time",
                        "part-time",
                        "contract"
                      ]
                    }
                  },
                  "minimumPay": {
                    "anyOf": [
                      {
                        "type": "number",
                        "minimum": 0,
                        "maximum": 100000000
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  "payUnit": {
                    "type": "string",
                    "enum": [
                      "year",
                      "month",
                      "week",
                      "day",
                      "hour"
                    ]
                  },
                  "excludedTitles": {
                    "maxItems": 40,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "shiftKeywords": {
                    "maxItems": 10,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 80
                    }
                  }
                },
                "required": [
                  "titles",
                  "locations",
                  "workplaceTypes",
                  "employmentTypes",
                  "minimumPay",
                  "currency",
                  "payUnit",
                  "excludedTitles"
                ],
                "additionalProperties": false
              },
              "contact": {
                "type": "object",
                "properties": {
                  "phone": {
                    "type": "string",
                    "maxLength": 40
                  },
                  "channels": {
                    "maxItems": 3,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "enum": [
                        "email",
                        "sms",
                        "phone"
                      ]
                    }
                  }
                },
                "required": [
                  "phone",
                  "channels"
                ],
                "additionalProperties": false
              },
              "consent": {
                "type": "object",
                "properties": {
                  "discovery": {
                    "type": "boolean"
                  },
                  "introductions": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "discovery",
                  "introductions"
                ],
                "additionalProperties": false
              },
              "blockedCompanyIds": {
                "maxItems": 200,
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                }
              }
            },
            "required": [
              "name",
              "headline",
              "summary",
              "location",
              "skills",
              "experience",
              "education",
              "preferences",
              "contact",
              "consent",
              "blockedCompanyIds"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "expectedRevision",
          "profile"
        ],
        "additionalProperties": false
      },
      "ProfileApproval": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "expectedRevision"
        ],
        "additionalProperties": false
      },
      "SearchPolicy": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "expectedProfileRevision": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "enabled": {
            "type": "boolean"
          },
          "monthlyLimit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 20
          },
          "acknowledged": {
            "type": "boolean"
          }
        },
        "required": [
          "expectedRevision",
          "expectedProfileRevision",
          "enabled",
          "monthlyLimit"
        ],
        "additionalProperties": false
      },
      "DirectApplication": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "expectedProfileRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "expectedJobRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "shareWithCompany": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "jobId",
          "expectedProfileRevision",
          "expectedJobRevision",
          "shareWithCompany"
        ],
        "additionalProperties": false
      },
      "IntroductionDecision": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "introductionId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "decision": {
            "type": "string",
            "enum": [
              "accept",
              "decline",
              "withdraw"
            ]
          },
          "acknowledged": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "introductionId",
          "decision",
          "acknowledged"
        ],
        "additionalProperties": false
      },
      "OfferResponse": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "applicationId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "expectedRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "offerId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "decision": {
            "type": "string",
            "enum": [
              "accepted",
              "declined"
            ]
          },
          "acknowledged": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "applicationId",
          "expectedRevision",
          "offerId",
          "decision",
          "acknowledged"
        ],
        "additionalProperties": false
      },
      "EmployerDraft": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "draft": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "title": {
                "type": "string",
                "minLength": 3,
                "maxLength": 120
              },
              "company": {
                "type": "string",
                "minLength": 2,
                "maxLength": 200
              },
              "category": {
                "type": "string",
                "maxLength": 200
              },
              "location": {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              "arrangement": {
                "type": "string",
                "enum": [
                  "Remote",
                  "Hybrid",
                  "On-site"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "Full-time",
                  "Part-time",
                  "Contract"
                ]
              },
              "payUnit": {
                "default": "year",
                "type": "string",
                "enum": [
                  "year",
                  "hour"
                ]
              },
              "baseMin": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              },
              "baseMax": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              },
              "description": {
                "type": "string",
                "minLength": 40,
                "maxLength": 6000
              },
              "addresses": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "streetAddress": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "locality": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "country": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "required": [
                    "locality",
                    "country"
                  ],
                  "additionalProperties": false
                }
              },
              "remoteEligibility": {
                "type": "object",
                "properties": {
                  "countries": {
                    "minItems": 1,
                    "maxItems": 50,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "regions": {
                    "maxItems": 60,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "country": {
                          "type": "string",
                          "pattern": "^[A-Z]{2}$"
                        },
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 100
                        }
                      },
                      "required": [
                        "country",
                        "code"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "countries"
                ],
                "additionalProperties": false
              },
              "applicationsCloseOn": {
                "type": "string",
                "format": "date",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
              },
              "firstPostedOn": {
                "type": "string",
                "format": "date",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
              },
              "educationLevel": {
                "type": "string",
                "enum": [
                  "none",
                  "high-school",
                  "associate",
                  "bachelor",
                  "professional-certificate",
                  "postgraduate"
                ]
              },
              "experienceMonths": {
                "type": "integer",
                "minimum": 0,
                "maximum": 600
              },
              "experienceInPlaceOfEducation": {
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "title",
              "company",
              "category",
              "location",
              "arrangement",
              "type",
              "payUnit",
              "baseMin",
              "baseMax",
              "description"
            ],
            "additionalProperties": false
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
          },
          "shift": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "requirements": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "positions": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          }
        },
        "required": [
          "draft",
          "startDate",
          "shift",
          "requirements",
          "positions"
        ],
        "additionalProperties": false
      },
      "EmployerEdit": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "draft": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "title": {
                "type": "string",
                "minLength": 3,
                "maxLength": 120
              },
              "company": {
                "type": "string",
                "minLength": 2,
                "maxLength": 200
              },
              "category": {
                "type": "string",
                "maxLength": 200
              },
              "location": {
                "type": "string",
                "minLength": 2,
                "maxLength": 120
              },
              "arrangement": {
                "type": "string",
                "enum": [
                  "Remote",
                  "Hybrid",
                  "On-site"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "Full-time",
                  "Part-time",
                  "Contract"
                ]
              },
              "payUnit": {
                "default": "year",
                "type": "string",
                "enum": [
                  "year",
                  "hour"
                ]
              },
              "baseMin": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              },
              "baseMax": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000
              },
              "description": {
                "type": "string",
                "minLength": 40,
                "maxLength": 6000
              },
              "addresses": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "streetAddress": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "locality": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "country": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "required": [
                    "locality",
                    "country"
                  ],
                  "additionalProperties": false
                }
              },
              "remoteEligibility": {
                "type": "object",
                "properties": {
                  "countries": {
                    "minItems": 1,
                    "maxItems": 50,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "regions": {
                    "maxItems": 60,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "country": {
                          "type": "string",
                          "pattern": "^[A-Z]{2}$"
                        },
                        "code": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 100
                        }
                      },
                      "required": [
                        "country",
                        "code"
                      ],
                      "additionalProperties": false
                    }
                  }
                },
                "required": [
                  "countries"
                ],
                "additionalProperties": false
              },
              "applicationsCloseOn": {
                "type": "string",
                "format": "date",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
              },
              "firstPostedOn": {
                "type": "string",
                "format": "date",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
              },
              "educationLevel": {
                "type": "string",
                "enum": [
                  "none",
                  "high-school",
                  "associate",
                  "bachelor",
                  "professional-certificate",
                  "postgraduate"
                ]
              },
              "experienceMonths": {
                "type": "integer",
                "minimum": 0,
                "maximum": 600
              },
              "experienceInPlaceOfEducation": {
                "type": "boolean"
              }
            },
            "required": [
              "id",
              "title",
              "company",
              "category",
              "location",
              "arrangement",
              "type",
              "payUnit",
              "baseMin",
              "baseMax",
              "description"
            ],
            "additionalProperties": false
          },
          "startDate": {
            "type": "string",
            "format": "date",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
          },
          "shift": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "requirements": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000
          },
          "positions": {
            "default": 1,
            "type": "integer",
            "minimum": 1,
            "maximum": 1000
          },
          "expectedJobRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "draft",
          "startDate",
          "shift",
          "requirements",
          "positions",
          "expectedJobRevision"
        ],
        "additionalProperties": false
      },
      "EmployerReview": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "expectedJobRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "requiredSkills": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "trainableSkills": {
            "maxItems": 20,
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 100
            }
          },
          "reviewCapacity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 5
          },
          "confirmed": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "jobId",
          "expectedJobRevision",
          "requiredSkills",
          "trainableSkills",
          "reviewCapacity",
          "confirmed"
        ],
        "additionalProperties": false
      },
      "EmployerStatus": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedJobRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "status": {
            "type": "string",
            "enum": [
              "paused",
              "closed",
              "archived"
            ]
          }
        },
        "required": [
          "expectedJobRevision",
          "status"
        ],
        "additionalProperties": false
      },
      "EmployerCompanyUpdateResult": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "catalog": {
            "type": "object",
            "properties": {
              "version": {
                "type": "string",
                "const": "1"
              },
              "company": {
                "type": "object",
                "properties": {
                  "slug": {
                    "type": "string",
                    "maxLength": 100,
                    "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                  },
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "website": {
                    "type": "string",
                    "format": "uri"
                  },
                  "tagline": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  },
                  "description": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 20000
                  },
                  "industry": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "locations": {
                    "minItems": 1,
                    "maxItems": 30,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "logoUrl": {
                    "type": "string",
                    "format": "uri"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "published"
                    ]
                  }
                },
                "required": [
                  "slug",
                  "name",
                  "website",
                  "tagline",
                  "description",
                  "industry",
                  "locations",
                  "status"
                ],
                "additionalProperties": false
              },
              "jobs": {
                "maxItems": 100,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string",
                      "maxLength": 100,
                      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                    },
                    "title": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "description": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 30000
                    },
                    "department": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "employmentType": {
                      "type": "string",
                      "enum": [
                        "full-time",
                        "part-time",
                        "contract"
                      ]
                    },
                    "workplaceType": {
                      "type": "string",
                      "enum": [
                        "remote",
                        "hybrid",
                        "on-site"
                      ]
                    },
                    "location": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "applicantLocationRequirements": {
                      "maxItems": 20,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300
                      }
                    },
                    "compensation": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 1000
                        },
                        "currency": {
                          "type": "string",
                          "pattern": "^[A-Z]{3}$"
                        },
                        "min": {
                          "type": "number",
                          "minimum": 0
                        },
                        "max": {
                          "type": "number",
                          "minimum": 0
                        },
                        "unit": {
                          "type": "string",
                          "enum": [
                            "year",
                            "month",
                            "week",
                            "day",
                            "hour"
                          ]
                        }
                      },
                      "required": [
                        "text"
                      ],
                      "additionalProperties": false
                    },
                    "sections": {
                      "maxItems": 30,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "heading": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 300
                          },
                          "items": {
                            "minItems": 1,
                            "maxItems": 100,
                            "type": "array",
                            "items": {
                              "type": "string",
                              "minLength": 1,
                              "maxLength": 10000
                            }
                          }
                        },
                        "required": [
                          "heading",
                          "items"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "applyUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "sourceUrl": {
                      "type": "string",
                      "format": "uri"
                    },
                    "validThrough": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    },
                    "status": {
                      "type": "string",
                      "enum": [
                        "draft",
                        "published",
                        "closed"
                      ]
                    },
                    "managedJobId": {
                      "type": "string",
                      "format": "uuid",
                      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                    },
                    "sourceRevision": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "revision": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "datePosted": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                        },
                        {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        }
                      ]
                    },
                    "addresses": {
                      "minItems": 1,
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "streetAddress": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "locality": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "region": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "postalCode": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 20
                          },
                          "country": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "required": [
                          "locality",
                          "country"
                        ],
                        "additionalProperties": false
                      }
                    },
                    "remoteEligibility": {
                      "type": "object",
                      "properties": {
                        "countries": {
                          "minItems": 1,
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "regions": {
                          "maxItems": 60,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "country": {
                                "type": "string",
                                "pattern": "^[A-Z]{2}$"
                              },
                              "code": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 100
                              }
                            },
                            "required": [
                              "country",
                              "code"
                            ],
                            "additionalProperties": false
                          }
                        }
                      },
                      "required": [
                        "countries"
                      ],
                      "additionalProperties": false
                    },
                    "educationLevel": {
                      "type": "string",
                      "enum": [
                        "none",
                        "high-school",
                        "associate",
                        "bachelor",
                        "professional-certificate",
                        "postgraduate"
                      ]
                    },
                    "experienceMonths": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 600
                    },
                    "experienceInPlaceOfEducation": {
                      "type": "boolean"
                    },
                    "dateModified": {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    }
                  },
                  "required": [
                    "slug",
                    "title",
                    "description",
                    "employmentType",
                    "workplaceType",
                    "location",
                    "compensation",
                    "sections",
                    "applyUrl",
                    "status",
                    "revision"
                  ],
                  "additionalProperties": false
                }
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "version",
              "company",
              "jobs",
              "revision"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "catalog"
        ],
        "additionalProperties": false
      },
      "EmployerDraftResult": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "agencyId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "duplicate": {
            "type": "boolean"
          }
        },
        "required": [
          "jobId",
          "agencyId",
          "duplicate"
        ],
        "additionalProperties": false
      },
      "EmployerEditResult": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "agencyId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "jobId",
          "agencyId",
          "revision"
        ],
        "additionalProperties": false
      },
      "EmployerPublished": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "published": {
            "type": "boolean",
            "const": true
          },
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "companySlug": {
            "type": "string"
          },
          "jobSlug": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "published",
          "jobId",
          "revision",
          "companySlug",
          "jobSlug",
          "url"
        ],
        "additionalProperties": false
      },
      "EmployerStatusResult": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "format": "uuid",
            "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "status": {
            "type": "string",
            "enum": [
              "paused",
              "closed",
              "archived"
            ]
          }
        },
        "required": [
          "jobId",
          "revision",
          "status"
        ],
        "additionalProperties": false
      },
      "PublicDirectory": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "1"
          },
          "companies": {
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "website": {
                  "type": "string",
                  "format": "uri"
                },
                "tagline": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "industry": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "locations": {
                  "minItems": 1,
                  "maxItems": 30,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  }
                },
                "logoUrl": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "required": [
                "slug",
                "name",
                "website",
                "tagline",
                "industry",
                "locations"
              ],
              "additionalProperties": false
            }
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "version",
          "companies",
          "nextCursor"
        ],
        "additionalProperties": false
      },
      "PublicCatalog": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "1"
          },
          "company": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "website": {
                "type": "string",
                "format": "uri"
              },
              "tagline": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 20000
              },
              "industry": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "locations": {
                "minItems": 1,
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "logoUrl": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "slug",
              "name",
              "website",
              "tagline",
              "description",
              "industry",
              "locations"
            ],
            "additionalProperties": false
          },
          "jobs": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 30000
                },
                "department": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "employmentType": {
                  "type": "string",
                  "enum": [
                    "full-time",
                    "part-time",
                    "contract"
                  ]
                },
                "workplaceType": {
                  "type": "string",
                  "enum": [
                    "remote",
                    "hybrid",
                    "on-site"
                  ]
                },
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "applicantLocationRequirements": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "compensation": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    },
                    "min": {
                      "type": "number",
                      "minimum": 0
                    },
                    "max": {
                      "type": "number",
                      "minimum": 0
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month",
                        "week",
                        "day",
                        "hour"
                      ]
                    }
                  },
                  "required": [
                    "text"
                  ],
                  "additionalProperties": false
                },
                "sections": {
                  "maxItems": 30,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "heading": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300
                      },
                      "items": {
                        "minItems": 1,
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 10000
                        }
                      }
                    },
                    "required": [
                      "heading",
                      "items"
                    ],
                    "additionalProperties": false
                  }
                },
                "applyUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "sourceUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "validThrough": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "status": {
                  "type": "string",
                  "const": "published"
                },
                "managedJobId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "sourceRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "slug",
                "title",
                "description",
                "employmentType",
                "workplaceType",
                "location",
                "compensation",
                "sections",
                "applyUrl",
                "status",
                "revision"
              ],
              "additionalProperties": false
            }
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "version",
          "company",
          "jobs",
          "revision"
        ],
        "additionalProperties": false
      },
      "PublisherSnapshot": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "1"
          },
          "company": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "website": {
                "type": "string",
                "format": "uri"
              },
              "tagline": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 20000
              },
              "industry": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "locations": {
                "minItems": 1,
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "logoUrl": {
                "type": "string",
                "format": "uri"
              },
              "status": {
                "type": "string",
                "enum": [
                  "draft",
                  "published"
                ]
              }
            },
            "required": [
              "slug",
              "name",
              "website",
              "tagline",
              "description",
              "industry",
              "locations",
              "status"
            ],
            "additionalProperties": false
          },
          "jobs": {
            "maxItems": 100,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 30000
                },
                "department": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "employmentType": {
                  "type": "string",
                  "enum": [
                    "full-time",
                    "part-time",
                    "contract"
                  ]
                },
                "workplaceType": {
                  "type": "string",
                  "enum": [
                    "remote",
                    "hybrid",
                    "on-site"
                  ]
                },
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "applicantLocationRequirements": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "compensation": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    },
                    "min": {
                      "type": "number",
                      "minimum": 0
                    },
                    "max": {
                      "type": "number",
                      "minimum": 0
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month",
                        "week",
                        "day",
                        "hour"
                      ]
                    }
                  },
                  "required": [
                    "text"
                  ],
                  "additionalProperties": false
                },
                "sections": {
                  "maxItems": 30,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "heading": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300
                      },
                      "items": {
                        "minItems": 1,
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 10000
                        }
                      }
                    },
                    "required": [
                      "heading",
                      "items"
                    ],
                    "additionalProperties": false
                  }
                },
                "applyUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "sourceUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "validThrough": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "draft",
                    "published",
                    "closed"
                  ]
                },
                "managedJobId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "sourceRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "slug",
                "title",
                "description",
                "employmentType",
                "workplaceType",
                "location",
                "compensation",
                "sections",
                "applyUrl",
                "status",
                "revision"
              ],
              "additionalProperties": false
            }
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "version",
          "company",
          "jobs",
          "revision"
        ],
        "additionalProperties": false
      },
      "PublicDirectoryV2": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "2"
          },
          "companies": {
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "name": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "website": {
                  "type": "string",
                  "maxLength": 2048
                },
                "tagline": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "industry": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "locations": {
                  "minItems": 1,
                  "maxItems": 30,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  }
                },
                "logoUrl": {
                  "type": "string",
                  "maxLength": 2048
                }
              },
              "required": [
                "slug",
                "name",
                "website",
                "tagline",
                "industry",
                "locations"
              ]
            }
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "version",
          "companies",
          "nextCursor"
        ]
      },
      "PublicCatalogV2": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "2"
          },
          "company": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "website": {
                "type": "string",
                "maxLength": 2048
              },
              "tagline": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 20000
              },
              "industry": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "locations": {
                "minItems": 1,
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "logoUrl": {
                "type": "string",
                "maxLength": 2048
              }
            },
            "required": [
              "slug",
              "name",
              "website",
              "tagline",
              "description",
              "industry",
              "locations"
            ]
          },
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 30000
                },
                "department": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "employmentType": {
                  "type": "string",
                  "enum": [
                    "full-time",
                    "part-time",
                    "contract"
                  ]
                },
                "workplaceType": {
                  "type": "string",
                  "enum": [
                    "remote",
                    "hybrid",
                    "on-site"
                  ]
                },
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "applicantLocationRequirements": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "compensation": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month",
                        "week",
                        "day",
                        "hour"
                      ]
                    }
                  },
                  "required": [
                    "text"
                  ]
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "heading": {
                        "type": "string"
                      },
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "heading",
                      "items"
                    ]
                  }
                },
                "applyUrl": {
                  "type": "string",
                  "maxLength": 2048
                },
                "sourceUrl": {
                  "type": "string",
                  "maxLength": 2048
                },
                "validThrough": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "status": {
                  "type": "string",
                  "const": "published"
                },
                "managedJobId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "sourceRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "datePosted": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    }
                  ]
                },
                "dateModified": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "addresses": {
                  "minItems": 1,
                  "maxItems": 10,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "streetAddress": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "locality": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "region": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "postalCode": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 20
                      },
                      "country": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "required": [
                      "locality",
                      "country"
                    ]
                  }
                },
                "remoteEligibility": {
                  "type": "object",
                  "properties": {
                    "countries": {
                      "minItems": 1,
                      "maxItems": 50,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "regions": {
                      "maxItems": 60,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "country": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          },
                          "code": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "country",
                          "code"
                        ]
                      }
                    }
                  },
                  "required": [
                    "countries"
                  ]
                },
                "educationLevel": {
                  "type": "string",
                  "enum": [
                    "none",
                    "high-school",
                    "associate",
                    "bachelor",
                    "professional-certificate",
                    "postgraduate"
                  ]
                },
                "experienceMonths": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 600
                },
                "experienceInPlaceOfEducation": {
                  "type": "boolean"
                }
              },
              "required": [
                "slug",
                "title",
                "description",
                "employmentType",
                "workplaceType",
                "location",
                "compensation",
                "sections",
                "applyUrl",
                "status",
                "revision"
              ]
            }
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "version",
          "company",
          "jobs",
          "revision"
        ]
      },
      "Openings": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "2"
          },
          "openings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "company": {
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "logoUrl": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "slug",
                    "name"
                  ]
                },
                "job": {
                  "type": "object",
                  "properties": {
                    "slug": {
                      "type": "string",
                      "maxLength": 100,
                      "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                    },
                    "title": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "department": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "location": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "addresses": {
                      "minItems": 1,
                      "maxItems": 10,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "streetAddress": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 200
                          },
                          "locality": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "region": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 100
                          },
                          "postalCode": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 20
                          },
                          "country": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "required": [
                          "locality",
                          "country"
                        ]
                      }
                    },
                    "remoteEligibility": {
                      "type": "object",
                      "properties": {
                        "countries": {
                          "minItems": 1,
                          "maxItems": 50,
                          "type": "array",
                          "items": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          }
                        },
                        "regions": {
                          "maxItems": 60,
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "country": {
                                "type": "string",
                                "pattern": "^[A-Z]{2}$"
                              },
                              "code": {
                                "type": "string"
                              }
                            },
                            "required": [
                              "country",
                              "code"
                            ]
                          }
                        }
                      },
                      "required": [
                        "countries"
                      ]
                    },
                    "workplaceType": {
                      "type": "string",
                      "enum": [
                        "remote",
                        "hybrid",
                        "on-site"
                      ]
                    },
                    "employmentType": {
                      "type": "string",
                      "enum": [
                        "full-time",
                        "part-time",
                        "contract"
                      ]
                    },
                    "compensation": {
                      "type": "object",
                      "properties": {
                        "text": {
                          "type": "string"
                        },
                        "currency": {
                          "type": "string"
                        },
                        "min": {
                          "type": "number"
                        },
                        "max": {
                          "type": "number"
                        },
                        "unit": {
                          "type": "string",
                          "enum": [
                            "year",
                            "month",
                            "week",
                            "day",
                            "hour"
                          ]
                        }
                      },
                      "required": [
                        "text"
                      ]
                    },
                    "datePosted": {
                      "anyOf": [
                        {
                          "type": "string",
                          "format": "date",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                        },
                        {
                          "type": "string",
                          "format": "date-time",
                          "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                        }
                      ]
                    },
                    "applyUrl": {
                      "type": "string",
                      "maxLength": 2048
                    }
                  },
                  "required": [
                    "slug",
                    "title",
                    "location",
                    "workplaceType",
                    "employmentType",
                    "compensation",
                    "applyUrl"
                  ]
                }
              },
              "required": [
                "company",
                "job"
              ]
            }
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "version",
          "openings",
          "nextCursor"
        ]
      },
      "JobListV2": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "2"
          },
          "companySlug": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 30000
                },
                "department": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "employmentType": {
                  "type": "string",
                  "enum": [
                    "full-time",
                    "part-time",
                    "contract"
                  ]
                },
                "workplaceType": {
                  "type": "string",
                  "enum": [
                    "remote",
                    "hybrid",
                    "on-site"
                  ]
                },
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "applicantLocationRequirements": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "compensation": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string"
                    },
                    "currency": {
                      "type": "string"
                    },
                    "min": {
                      "type": "number"
                    },
                    "max": {
                      "type": "number"
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month",
                        "week",
                        "day",
                        "hour"
                      ]
                    }
                  },
                  "required": [
                    "text"
                  ]
                },
                "sections": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "heading": {
                        "type": "string"
                      },
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      }
                    },
                    "required": [
                      "heading",
                      "items"
                    ]
                  }
                },
                "applyUrl": {
                  "type": "string",
                  "maxLength": 2048
                },
                "sourceUrl": {
                  "type": "string",
                  "maxLength": 2048
                },
                "validThrough": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "status": {
                  "type": "string",
                  "const": "published"
                },
                "managedJobId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "sourceRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "datePosted": {
                  "anyOf": [
                    {
                      "type": "string",
                      "format": "date",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                    },
                    {
                      "type": "string",
                      "format": "date-time",
                      "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                    }
                  ]
                },
                "dateModified": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "addresses": {
                  "minItems": 1,
                  "maxItems": 10,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "streetAddress": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "locality": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "region": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 100
                      },
                      "postalCode": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 20
                      },
                      "country": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "required": [
                      "locality",
                      "country"
                    ]
                  }
                },
                "remoteEligibility": {
                  "type": "object",
                  "properties": {
                    "countries": {
                      "minItems": 1,
                      "maxItems": 50,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^[A-Z]{2}$"
                      }
                    },
                    "regions": {
                      "maxItems": 60,
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "country": {
                            "type": "string",
                            "pattern": "^[A-Z]{2}$"
                          },
                          "code": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "country",
                          "code"
                        ]
                      }
                    }
                  },
                  "required": [
                    "countries"
                  ]
                },
                "educationLevel": {
                  "type": "string",
                  "enum": [
                    "none",
                    "high-school",
                    "associate",
                    "bachelor",
                    "professional-certificate",
                    "postgraduate"
                  ]
                },
                "experienceMonths": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 600
                },
                "experienceInPlaceOfEducation": {
                  "type": "boolean"
                }
              },
              "required": [
                "slug",
                "title",
                "description",
                "employmentType",
                "workplaceType",
                "location",
                "compensation",
                "sections",
                "applyUrl",
                "status",
                "revision"
              ]
            }
          }
        },
        "required": [
          "version",
          "companySlug",
          "revision",
          "jobs"
        ]
      },
      "JobDetailV2": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "2"
          },
          "companySlug": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "job": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 30000
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "employmentType": {
                "type": "string",
                "enum": [
                  "full-time",
                  "part-time",
                  "contract"
                ]
              },
              "workplaceType": {
                "type": "string",
                "enum": [
                  "remote",
                  "hybrid",
                  "on-site"
                ]
              },
              "location": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "applicantLocationRequirements": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "compensation": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  },
                  "currency": {
                    "type": "string"
                  },
                  "min": {
                    "type": "number"
                  },
                  "max": {
                    "type": "number"
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "year",
                      "month",
                      "week",
                      "day",
                      "hour"
                    ]
                  }
                },
                "required": [
                  "text"
                ]
              },
              "sections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "heading": {
                      "type": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "required": [
                    "heading",
                    "items"
                  ]
                }
              },
              "applyUrl": {
                "type": "string",
                "maxLength": 2048
              },
              "sourceUrl": {
                "type": "string",
                "maxLength": 2048
              },
              "validThrough": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "status": {
                "type": "string",
                "const": "published"
              },
              "managedJobId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "sourceRevision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "datePosted": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "date",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
                  },
                  {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                  }
                ]
              },
              "dateModified": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "addresses": {
                "minItems": 1,
                "maxItems": 10,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "streetAddress": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "locality": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "region": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 100
                    },
                    "postalCode": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 20
                    },
                    "country": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "required": [
                    "locality",
                    "country"
                  ]
                }
              },
              "remoteEligibility": {
                "type": "object",
                "properties": {
                  "countries": {
                    "minItems": 1,
                    "maxItems": 50,
                    "type": "array",
                    "items": {
                      "type": "string",
                      "pattern": "^[A-Z]{2}$"
                    }
                  },
                  "regions": {
                    "maxItems": 60,
                    "type": "array",
                    "items": {
                      "type": "object",
                      "properties": {
                        "country": {
                          "type": "string",
                          "pattern": "^[A-Z]{2}$"
                        },
                        "code": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "country",
                        "code"
                      ]
                    }
                  }
                },
                "required": [
                  "countries"
                ]
              },
              "educationLevel": {
                "type": "string",
                "enum": [
                  "none",
                  "high-school",
                  "associate",
                  "bachelor",
                  "professional-certificate",
                  "postgraduate"
                ]
              },
              "experienceMonths": {
                "type": "integer",
                "minimum": 0,
                "maximum": 600
              },
              "experienceInPlaceOfEducation": {
                "type": "boolean"
              }
            },
            "required": [
              "slug",
              "title",
              "description",
              "employmentType",
              "workplaceType",
              "location",
              "compensation",
              "sections",
              "applyUrl",
              "status",
              "revision"
            ]
          }
        },
        "required": [
          "version",
          "companySlug",
          "revision",
          "job"
        ]
      },
      "CompanyUpdate": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "company": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "website": {
                "type": "string",
                "format": "uri"
              },
              "tagline": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 20000
              },
              "industry": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "locations": {
                "minItems": 1,
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                }
              },
              "logoUrl": {
                "type": "string",
                "format": "uri"
              },
              "status": {
                "type": "string",
                "enum": [
                  "draft",
                  "published"
                ]
              }
            },
            "required": [
              "slug",
              "name",
              "website",
              "tagline",
              "description",
              "industry",
              "locations",
              "status"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "expectedRevision",
          "company"
        ],
        "additionalProperties": false
      },
      "JobUpdate": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "expectedRevision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "job": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 30000
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "employmentType": {
                "type": "string",
                "enum": [
                  "full-time",
                  "part-time",
                  "contract"
                ]
              },
              "workplaceType": {
                "type": "string",
                "enum": [
                  "remote",
                  "hybrid",
                  "on-site"
                ]
              },
              "location": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "applicantLocationRequirements": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "compensation": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  "min": {
                    "type": "number",
                    "minimum": 0
                  },
                  "max": {
                    "type": "number",
                    "minimum": 0
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "year",
                      "month",
                      "week",
                      "day",
                      "hour"
                    ]
                  }
                },
                "required": [
                  "text"
                ],
                "additionalProperties": false
              },
              "sections": {
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "heading": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "items": {
                      "minItems": 1,
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 10000
                      }
                    }
                  },
                  "required": [
                    "heading",
                    "items"
                  ],
                  "additionalProperties": false
                }
              },
              "applyUrl": {
                "type": "string",
                "format": "uri"
              },
              "sourceUrl": {
                "type": "string",
                "format": "uri"
              },
              "validThrough": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "status": {
                "type": "string",
                "enum": [
                  "draft",
                  "published",
                  "closed"
                ]
              }
            },
            "required": [
              "slug",
              "title",
              "description",
              "employmentType",
              "workplaceType",
              "location",
              "compensation",
              "sections",
              "applyUrl",
              "status"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "expectedRevision",
          "job"
        ],
        "additionalProperties": false
      },
      "JobList": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "1"
          },
          "companySlug": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "slug": {
                  "type": "string",
                  "maxLength": 100,
                  "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
                },
                "title": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "description": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 30000
                },
                "department": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200
                },
                "employmentType": {
                  "type": "string",
                  "enum": [
                    "full-time",
                    "part-time",
                    "contract"
                  ]
                },
                "workplaceType": {
                  "type": "string",
                  "enum": [
                    "remote",
                    "hybrid",
                    "on-site"
                  ]
                },
                "location": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                },
                "applicantLocationRequirements": {
                  "maxItems": 20,
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 300
                  }
                },
                "compensation": {
                  "type": "object",
                  "properties": {
                    "text": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 1000
                    },
                    "currency": {
                      "type": "string",
                      "pattern": "^[A-Z]{3}$"
                    },
                    "min": {
                      "type": "number",
                      "minimum": 0
                    },
                    "max": {
                      "type": "number",
                      "minimum": 0
                    },
                    "unit": {
                      "type": "string",
                      "enum": [
                        "year",
                        "month",
                        "week",
                        "day",
                        "hour"
                      ]
                    }
                  },
                  "required": [
                    "text"
                  ],
                  "additionalProperties": false
                },
                "sections": {
                  "maxItems": 30,
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "heading": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 300
                      },
                      "items": {
                        "minItems": 1,
                        "maxItems": 100,
                        "type": "array",
                        "items": {
                          "type": "string",
                          "minLength": 1,
                          "maxLength": 10000
                        }
                      }
                    },
                    "required": [
                      "heading",
                      "items"
                    ],
                    "additionalProperties": false
                  }
                },
                "applyUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "sourceUrl": {
                  "type": "string",
                  "format": "uri"
                },
                "validThrough": {
                  "type": "string",
                  "format": "date-time",
                  "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
                },
                "status": {
                  "type": "string",
                  "const": "published"
                },
                "managedJobId": {
                  "type": "string",
                  "format": "uuid",
                  "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
                },
                "sourceRevision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "revision": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                }
              },
              "required": [
                "slug",
                "title",
                "description",
                "employmentType",
                "workplaceType",
                "location",
                "compensation",
                "sections",
                "applyUrl",
                "status",
                "revision"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "version",
          "companySlug",
          "revision",
          "jobs"
        ],
        "additionalProperties": false
      },
      "JobDetail": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "const": "1"
          },
          "companySlug": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "job": {
            "type": "object",
            "properties": {
              "slug": {
                "type": "string",
                "maxLength": 100,
                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "description": {
                "type": "string",
                "minLength": 1,
                "maxLength": 30000
              },
              "department": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "employmentType": {
                "type": "string",
                "enum": [
                  "full-time",
                  "part-time",
                  "contract"
                ]
              },
              "workplaceType": {
                "type": "string",
                "enum": [
                  "remote",
                  "hybrid",
                  "on-site"
                ]
              },
              "location": {
                "type": "string",
                "minLength": 1,
                "maxLength": 300
              },
              "applicantLocationRequirements": {
                "maxItems": 20,
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 300
                }
              },
              "compensation": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 1000
                  },
                  "currency": {
                    "type": "string",
                    "pattern": "^[A-Z]{3}$"
                  },
                  "min": {
                    "type": "number",
                    "minimum": 0
                  },
                  "max": {
                    "type": "number",
                    "minimum": 0
                  },
                  "unit": {
                    "type": "string",
                    "enum": [
                      "year",
                      "month",
                      "week",
                      "day",
                      "hour"
                    ]
                  }
                },
                "required": [
                  "text"
                ],
                "additionalProperties": false
              },
              "sections": {
                "maxItems": 30,
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "heading": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 300
                    },
                    "items": {
                      "minItems": 1,
                      "maxItems": 100,
                      "type": "array",
                      "items": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 10000
                      }
                    }
                  },
                  "required": [
                    "heading",
                    "items"
                  ],
                  "additionalProperties": false
                }
              },
              "applyUrl": {
                "type": "string",
                "format": "uri"
              },
              "sourceUrl": {
                "type": "string",
                "format": "uri"
              },
              "validThrough": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "status": {
                "type": "string",
                "const": "published"
              },
              "managedJobId": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "sourceRevision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "revision": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "required": [
              "slug",
              "title",
              "description",
              "employmentType",
              "workplaceType",
              "location",
              "compensation",
              "sections",
              "applyUrl",
              "status",
              "revision"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "version",
          "companySlug",
          "revision",
          "job"
        ],
        "additionalProperties": false
      }
    }
  }
}
