{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/jobspipe/json-schema/jobspipe-live-search-request-schema.json",
  "title": "LiveSearchRequest",
  "description": "For a source of kind search: run one search. A source that cannot apply a filter itself applies it to the title and location of what it returns instead.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/jobspipe-live-api-openapi.yml#/components/schemas/LiveSearchRequest",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "keywords": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 500,
      "description": "What to search for, e.g. \"data engineer\"."
    },
    "location": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 500,
      "description": "Where, e.g. \"Berlin, Germany\"."
    },
    "posted_within_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "maximum": 365,
      "description": "Only jobs posted in the last N days."
    },
    "remote": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "true for remote jobs only; null for no preference."
    },
    "max_jobs": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000,
      "default": 100,
      "description": "The most jobs to return across this call."
    },
    "cursor": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 4096,
      "description": "Opaque. Send back the next_cursor of the previous response to continue the same board or search; null or absent starts from the beginning."
    }
  }
}