{
  "openapi": "3.0.1",
  "info": {
    "title": "ATS Hiring Intelligence for Your Account List",
    "description": "Give it your account list (a dataset or ATS board links). It reads each company's PUBLIC Greenhouse, Lever or Ashby job feed and adds hiring columns next to your original ones: open roles, role families, remote/salary coverage, tech mentions, and new/changed/removed roles between runs.",
    "version": "0.1",
    "x-build-id": "kelaHcbRfL5ZjCqbK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yourname_mahi~ats-hiring-intelligence/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yourname_mahi-ats-hiring-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/yourname_mahi~ats-hiring-intelligence/runs": {
      "post": {
        "operationId": "runs-sync-yourname_mahi-ats-hiring-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/yourname_mahi~ats-hiring-intelligence/run-sync": {
      "post": {
        "operationId": "run-sync-yourname_mahi-ats-hiring-intelligence",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "datasetId": {
            "title": "Dataset with your accounts (optional)",
            "type": "string",
            "description": "Pick an existing dataset (for example the output of a lead scraper). Every row is kept with all its original columns; the hiring columns are added next to them. Your dataset is only read, never changed."
          },
          "boardField": {
            "title": "Column that holds the ATS board",
            "type": "string",
            "description": "The column with a board link (https://jobs.lever.co/acme, https://boards.greenhouse.io/acme, https://jobs.ashbyhq.com/acme) or a short form such as ashby:acme, greenhouse:acme, lever:acme (EU Lever: lever-eu:acme). Leave empty to detect columns called board, careersUrl, jobsUrl, ats, greenhouse, lever or ashby."
          },
          "detectFromWebsite": {
            "title": "Try to find the board from the company website (optional, best effort)",
            "type": "boolean",
            "description": "Only used for rows with no board. Reads at most 2 public pages per company (its /careers page, then its home page) looking for a Greenhouse, Lever or Ashby link. Finding nothing is reported as ATS_NOT_DETECTED and does NOT mean the company is not hiring. Explicit boards are always more reliable. The company site's robots.txt is respected; the public ATS APIs themselves are not affected by it.",
            "default": false
          },
          "websiteField": {
            "title": "Website column name (optional)",
            "type": "string",
            "description": "Column holding the company website or careers URL. Leave empty to auto-detect columns such as website, domain or url."
          },
          "boards": {
            "title": "ATS boards (optional)",
            "type": "array",
            "description": "One per line: a public board link or a short form like ashby:ramp, greenhouse:airbnb, lever:weride. Use this or the dataset above, or both.",
            "items": {
              "type": "string"
            }
          },
          "includeTechnologies": {
            "title": "Find technology mentions in job descriptions",
            "type": "boolean",
            "description": "Adds which tools (Python, AWS, Salesforce, ...) open roles MENTION, with evidence snippets. This is not proof of what the company uses. Slower for Greenhouse boards (full descriptions are large).",
            "default": false
          },
          "trackChanges": {
            "title": "Track new / changed / removed roles between runs",
            "type": "boolean",
            "description": "Keeps a small history in a storage of YOUR account so the next run can compare. The first run only creates the baseline. A role is reported as removed only after it is missing in two consecutive healthy runs.",
            "default": true
          },
          "stateStoreName": {
            "title": "History storage name",
            "type": "string",
            "description": "Lowercase letters, digits and dashes. Use a different name to keep separate histories for separate account lists.",
            "default": "ats-hiring-intelligence-state"
          },
          "maxRows": {
            "title": "Maximum rows to process",
            "minimum": 0,
            "type": "integer",
            "description": "Optional cap, handy for a cheap test (for example 5). Empty or 0 = process everything."
          },
          "maxConcurrency": {
            "title": "Parallel boards",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "How many boards are read at the same time. Lower it to be extra gentle; it cannot be raised above 4.",
            "default": 4
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}