{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/jobo-world/json-schema/jobo-world-post-api-jobs-search-request-schema.json",
  "title": "PostApiJobsSearchRequest",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/jobo-world-openapi-generated.yml#/components/schemas/PostApiJobsSearchRequest",
  "type": "object",
  "properties": {
    "queries": {
      "type": "string",
      "description": "Array of search queries. Jobs matching ANY query are returned (OR logic)."
    },
    "locations": {
      "type": "string",
      "description": "Array of location strings. Jobs in ANY location are returned."
    },
    "skills": {
      "type": "object",
      "description": "Inclusion/exclusion filter for skills. Pass arrays of skill names."
    },
    "companies": {
      "type": "object",
      "description": "Inclusion/exclusion filter for companies. Pass arrays of company names."
    },
    "work_models": {
      "type": "string",
      "description": "Filter by work model: remote, hybrid, or onsite."
    },
    "employment_types": {
      "type": "string",
      "description": "Filter by employment types. Jobs matching ANY type are returned."
    },
    "experience_levels": {
      "type": "string",
      "description": "Filter by experience levels. Jobs matching ANY level are returned."
    },
    "salary_usd": {
      "type": "object",
      "description": "Annual USD salary range filter. Pass min and/or max values."
    },
    "posted_after": {
      "type": "string",
      "description": "ISO 8601 UTC timestamp. Only jobs posted after this date."
    },
    "page": {
      "type": "integer",
      "description": "Page number (1-indexed). Default: 1."
    },
    "page_size": {
      "type": "integer",
      "description": "Results per page (1-100). Default: 25."
    }
  }
}