{
  "openapi": "3.0.1",
  "info": {
    "title": "AI Hiring & Business Opportunity Radar",
    "description": "Monitor public Greenhouse, Lever, and Ashby job boards for AI, automation, cybersecurity, and sales expansion signals. Generate structured hiring intelligence reports and distinguish baseline findings from newly detected opportunities on subsequent scans.",
    "version": "0.0",
    "x-build-id": "IuAE7HsFl7DytILUR"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/four_leaf_communications~ai-hiring-opportunity-radar/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-four_leaf_communications-ai-hiring-opportunity-radar",
        "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/four_leaf_communications~ai-hiring-opportunity-radar/runs": {
      "post": {
        "operationId": "runs-sync-four_leaf_communications-ai-hiring-opportunity-radar",
        "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/four_leaf_communications~ai-hiring-opportunity-radar/run-sync": {
      "post": {
        "operationId": "run-sync-four_leaf_communications-ai-hiring-opportunity-radar",
        "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": {
          "demoMode": {
            "title": "Run safe synthetic demo (no network requests)",
            "type": "boolean",
            "description": "ON: run against fictional sample job feeds to check the output. Turn OFF to scan real company boards. Synthetic records are labelled in output.",
            "default": true
          },
          "boards": {
            "title": "Company job boards (Greenhouse / Lever / Ashby)",
            "maxItems": 10,
            "type": "array",
            "description": "Provider and public board ID, e.g. the 'example' part of boards.greenhouse.io/example, jobs.lever.co/example or jobs.ashbyhq.com/example. No login, arbitrary URLs or private employee data.",
            "items": {
              "type": "object",
              "properties": {
                "provider": {
                  "type": "string",
                  "enum": [
                    "greenhouse",
                    "lever",
                    "ashby"
                  ],
                  "title": "ATS provider",
                  "description": "Which publicly accessible company job-board platform hosts the careers page."
                },
                "boardSlug": {
                  "type": "string",
                  "minLength": 1,
                  "title": "Public board ID",
                  "description": "The exact company board identifier, without a URL or slash."
                },
                "companyName": {
                  "type": "string",
                  "title": "Display name",
                  "description": "Optional company name for reports."
                },
                "region": {
                  "type": "string",
                  "enum": [
                    "global",
                    "eu"
                  ],
                  "title": "Lever hosting region",
                  "description": "Choose EU only for EU-hosted Lever boards; global for others."
                }
              },
              "required": [
                "provider",
                "boardSlug"
              ]
            }
          },
          "signalCategories": {
            "title": "Signals to report",
            "minItems": 1,
            "type": "array",
            "description": "Choose which kinds of posted-job evidence should appear in output. Job ads are not verified purchasing plans.",
            "items": {
              "type": "string",
              "enum": [
                "AI_IMPLEMENTATION",
                "BUSINESS_AUTOMATION",
                "CYBERSECURITY",
                "SALES_HIRING"
              ],
              "enumTitles": [
                "AI / ML hiring",
                "Business-process automation",
                "Cybersecurity hiring",
                "Sales hiring (3+ matching roles)"
              ]
            },
            "default": [
              "AI_IMPLEMENTATION",
              "BUSINESS_AUTOMATION",
              "CYBERSECURITY",
              "SALES_HIRING"
            ]
          },
          "stateStoreId": {
            "title": "Optional persistent state store for change detection",
            "type": "string",
            "description": "Leave blank for automatic history tracking across runs in your Apify account. Advanced users can optionally select an existing key-value store they own with read/write permissions."
          },
          "includeBaseline": {
            "title": "Report matching roles on first scan",
            "type": "boolean",
            "description": "For a new board without prior state, output CURRENT hiring evidence (marked BASELINE, not newly posted).",
            "default": true
          },
          "includeExisting": {
            "title": "Include unchanged ongoing hiring categories on later scans",
            "type": "boolean",
            "description": "OFF: after the first scan, only output categories with a newly observed matching role. ON: output all currently matching categories on every run.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}