{
  "openapi": "3.0.1",
  "info": {
    "title": "Buying Signals Monitor — Hiring, Funding, Tech & Exec Triggers",
    "description": "Every buying signal for your target accounts in one call: hiring intent, tech-stack change, funding, paid-ad activity and executive change — merged into one row per company with a combined 0–100 signal score, a priority, who to sell to and what is new since your last run.",
    "version": "0.1",
    "x-build-id": "CCKwyXWeXQqqNRfur"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/inovaflow~buying-signals-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-inovaflow-buying-signals-monitor",
        "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/inovaflow~buying-signals-monitor/runs": {
      "post": {
        "operationId": "runs-sync-inovaflow-buying-signals-monitor",
        "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/inovaflow~buying-signals-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-inovaflow-buying-signals-monitor",
        "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": {
          "companies": {
            "title": "Companies to watch",
            "maxItems": 1000,
            "type": "array",
            "description": "One per line: a domain (`gong.io`) or a company name (`Gong`). Also accepted as `domains`, `watchlist` or `accounts`.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Or: industry / niche keywords",
            "maxItems": 20,
            "type": "array",
            "description": "Used only when the watchlist is empty. What the companies you want to monitor do — `B2B SaaS`, `logistics software`, `dental clinics`.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "maxItems": 20,
            "type": "array",
            "description": "Used only with keywords. Cities, countries or regions.",
            "items": {
              "type": "string"
            }
          },
          "companySizes": {
            "title": "Company size (headcount)",
            "uniqueItems": true,
            "type": "array",
            "description": "Used only with keywords. Empty = every size.",
            "items": {
              "type": "string",
              "enum": [
                "1-10",
                "11-50",
                "51-200",
                "201-500",
                "501-1000",
                "1001-5000",
                "5001-10000",
                "10000+"
              ]
            },
            "default": []
          },
          "maxCompanies": {
            "title": "Max companies",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many companies this run may watch. Also the ceiling on what it can cost.",
            "default": 100
          },
          "signals": {
            "title": "Signals to collect",
            "uniqueItems": true,
            "type": "array",
            "description": "Empty = all five.",
            "items": {
              "type": "string",
              "enum": [
                "hiring",
                "tech",
                "funding",
                "ads",
                "leadership"
              ],
              "enumTitles": [
                "Hiring — open roles that signal a build-out",
                "Tech change — a technology added to or dropped from their stack",
                "Funding — a round announced recently",
                "Ads — paid advertising started, ramping or stopped",
                "Leadership — a new executive in the seat"
              ]
            },
            "default": [
              "hiring",
              "tech",
              "funding",
              "ads",
              "leadership"
            ]
          },
          "daysBack": {
            "title": "Signal window (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How recent a signal has to be to count. 30 days is the usual outbound window; widen it to catch a round or an executive move that is still worth opening with.",
            "default": 30
          },
          "hiringRoles": {
            "title": "Roles that count as hiring",
            "maxItems": 20,
            "type": "array",
            "description": "Only used when the hiring signal is on. Which open roles mean something to you. Empty = a broad revenue-and-build set.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Ad-library countries",
            "maxItems": 10,
            "type": "array",
            "description": "Only used when the ads signal is on. Two-letter country codes. Empty = US.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithSignals": {
            "title": "Only companies with a signal",
            "type": "boolean",
            "description": "Drop companies where nothing is firing right now.",
            "default": false
          },
          "minSignalScore": {
            "title": "Minimum signal score",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only companies scoring at least this, out of 100. 30 ≈ warm, 60 ≈ hot.",
            "default": 0
          },
          "onlyChanged": {
            "title": "Only what changed since my last run",
            "type": "boolean",
            "description": "The monitor view: report a company only when it is new to the watch, a signal started or stopped, or the score moved. Ignored on the first run of a watch, which is the baseline.",
            "default": false
          },
          "watchId": {
            "title": "Watch ID",
            "type": "string",
            "description": "Names the memory this watch compares against. Leave empty and one is derived from what you are watching, so the same watchlist keeps the same memory automatically. Set it to keep a stable history while you edit the list."
          },
          "resolveDomains": {
            "title": "Resolve missing domains",
            "type": "boolean",
            "description": "Look up the domain for watchlist entries that are only a company name. Needed for the tech-change signal; the other four match on a name as well. Turn it off to save a lookup when every entry is already a domain.",
            "default": true
          },
          "maxSpendUsd": {
            "title": "Spend cap for the signal sources (USD)",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "A hard ceiling on what the signal lookups may charge your account in this run. Leave empty for no ceiling."
          },
          "nestedTimeoutSecs": {
            "title": "Per-signal timeout (seconds)",
            "minimum": 120,
            "maximum": 3600,
            "type": "integer",
            "description": "How long any one signal may take before the run continues without it. The rows still ship, with that signal listed under signalsSkipped.",
            "default": 1200
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}