{
  "title": "Search federal job openings — settings",
  "type": "object",
  "schemaVersion": 1,
  "properties": {
    "apiKey": {
      "title": "Your USAJOBS API key — required",
      "type": "string",
      "description": "Free USAJOBS Search API key from https://developer.usajobs.gov/apirequest/index. Required together with its registration email. Store as a secret. This Actor has no keyless fallback.",
      "editor": "textfield",
      "isSecret": true,
      "sectionCaption": "Credentials and job query"
    },
    "userAgentEmail": {
      "title": "Email registered with the key — required",
      "type": "string",
      "description": "Required together with the API key: the exact email used when registering for that key. Sent as User-Agent, not as a browser UA. Supply it here.",
      "editor": "textfield"
    },
    "keyword": {
      "title": "Job keyword",
      "type": "string",
      "description": "Job keyword. Default demo uses analyst.",
      "editor": "textfield",
      "prefill": "analyst"
    },
    "locationName": {
      "title": "Location filter",
      "type": "string",
      "description": "Optional location (city/state), e.g. Washington, DC.",
      "editor": "textfield"
    },
    "organizationIds": {
      "title": "USAJOBS organization codes",
      "type": "array",
      "description": "Optional USAJOBS organization codes.",
      "editor": "stringList",
      "items": {
        "type": "string"
      }
    },
    "maxResults": {
      "title": "Maximum job records to save",
      "type": "integer",
      "editor": "number",
      "default": 25,
      "minimum": 1,
      "maximum": 500,
      "description": "Maximum USAJOBS openings to return."
    },
    "maxRunSeconds": {
      "title": "Run time budget (seconds)",
      "type": "integer",
      "editor": "number",
      "default": 240,
      "minimum": 30,
      "description": "Hard wall-clock budget for the run in seconds.",
      "sectionCaption": "Run budget"
    },
    "softFail": {
      "title": "Keep run successful on source failure",
      "type": "boolean",
      "description": "Default false: missing credentials or complete source failure fails the run. True: keep the run successful with zero dataset rows and an explicit blocked/source_failed SUMMARY status. Diagnostics never become billable results.",
      "editor": "checkbox",
      "default": false
    }
  },
  "description": "For federal-job research and vacancy tracking, turn USAJOBS Search API results into a table of openings, locations and published pay ranges. USAJOBS federal postings. Both a free API key and the email registered with that key are required; there is no keyless fallback."
}
