---
title: "Create company tracker list"
method: POST
path: "/v1/tracker/company-lists"
tags: ["Tracker"]
---

# Create company tracker list

`POST /v1/tracker/company-lists`

Create a new company tracker list. Add companies to the list, and we will periodically check them for changes matching your tracking rules. Credits are charged per entity per refresh cycle (see your plan's pricing for exact rates). Creating the list itself is free.

<span>⚡ <strong>Rate limit:</strong> 120 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> FREE! No credits are charged for this API.&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `name` string, required — Human-readable name for the tracker list.
  - `refreshIntervalDays` integer, required — How often to check tracked companies for changes, in days.
  - `trackingRules` union[], nullable — Tracking rules to evaluate against this list's entities. Multiple rules can be active simultaneously.
    - union
      - HeadcountCrossedThreshold
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'headcount_crossed_threshold', required
        - `entityType` 'company', required
        - `direction` 'above' | 'below', required — Whether to alert when headcount crosses the threshold going up or down
        - `threshold` integer, required — The employee count threshold to watch for crossing. Any positive integer is accepted.
      - HeadcountGrowthPercent
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'headcount_growth_percent', required
        - `entityType` 'company', required
        - `minPercentChange` number, required — Minimum percent change to trigger (e.g. 20 means 20% growth)
        - `direction` 'grew' | 'shrank' | 'either', required — Whether to alert on growth, shrinkage, or either
        - `minStartingHeadcount` integer, nullable — Only alert if the company had at least this many employees before the change. Omit for any starting size.
      - NewFundingRound
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'new_funding_round', required
        - `entityType` 'company', required
        - `minAmountUsd` number, nullable — Only alert for rounds above this amount. Omit for any amount.
        - `roundTypes` string[], nullable — Round types to alert on. Defaults to equity-focused types when omitted. Set explicitly to include debt/grant types.
      - FundingStageChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'funding_stage_changed', required
        - `entityType` 'company', required
        - `toStages` string[], nullable — Only alert if new stage is one of these. Omit for any stage change.
      - JobPostingWithKeyword
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'job_posting_with_keyword', required
        - `entityType` 'company', required
        - `keywords` string[], required — Alert when a job posting title contains any of these keywords
        - `seniorityLevels` string[], nullable — Only alert for these seniority levels. Omit for any level.
        - `locationTypes` string[], nullable — Only alert for these location types. Omit for any. Deprecated.
        - `minPostings` integer, nullable — Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match).
      - JobPostingInFunction
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'job_posting_in_function', required
        - `entityType` 'company', required
        - `jobFunctions` string[], nullable, required — Alert when a job posting is in any of these departments/functions.
        - `minPostings` integer, nullable — Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match).
      - NewsWithKeyword
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'news_with_keyword', required
        - `entityType` 'company', required
        - `keywords` string[], required — Alert when a news article title or summary matches any keyword
        - `sentiment` 'positive' | 'negative' | 'neutral' | 'null', nullable — Only alert for news with this sentiment. Omit for any sentiment.
      - CompanyNews
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_news', required
        - `entityType` 'company', required
        - `sentiment` 'positive' | 'negative' | 'neutral' | 'null', nullable — Only alert for news with this sentiment. Omit for any sentiment.
        - `minArticles` integer, nullable — Only alert when at least this many articles are detected in a single check. Useful for filtering noise from single tangential mentions. Omit for any count.
      - HqLocationChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'hq_location_changed', required
        - `entityType` 'company', required
      - CompanyStatusChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_status_changed', required
        - `entityType` 'company', required
        - `toStatuses` string[], nullable — Only alert if new status is one of these. Omit for any status change.
      - TechnologyAdded
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'technology_added', required
        - `entityType` 'company', required
        - `technologies` string[], nullable — Only alert for these technologies. Omit for any new technology.
      - CompanyPosted
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_posted', required
        - `entityType` 'company', required
        - `minReactions` integer, nullable — Only alert for posts with at least this many reactions. Omit for any.
      - CompanyPostedWithKeyword
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_posted_with_keyword', required
        - `entityType` 'company', required
        - `keywords` string[], nullable — Alert for posts matching these keywords.
        - `minReactions` integer, nullable — Only alert for posts with at least this many reactions. Omit for any.
      - FollowerCountGrowth
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'follower_count_growth', required
        - `entityType` 'company', required
        - `minAbsoluteGrowth` integer, nullable — Minimum absolute follower increase to trigger. Omit or set to 0 for any increase.
        - `minPercentGrowth` number, nullable — Minimum percent follower increase to trigger. Omit for any increase.
        - `minStartingFollowerCount` integer, nullable — Only alert if the company had at least this many followers before the growth. Omit for any starting count.
      - CompanyNameChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_name_changed', required
        - `entityType` 'company', required
      - CompanyDescriptionChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_description_changed', required
        - `entityType` 'company', required
        - `keywords` string[], nullable — Only alert if new description contains one of these keywords. Omit for any change.
      - CompanyWentInactive — Fires when a company becomes inactive.
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_went_inactive', required
        - `entityType` 'company', required
      - EmployeeCountMilestone — Fires when the employee count crosses the specified value. Supports any positive integer, not just round milestones. Functionally equivalent to headcount_crossed_threshold.
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'employee_count_milestone', required
        - `entityType` 'company', required
        - `milestone` integer, required — The employee count threshold to watch for crossing. Any positive integer is accepted. Equivalent to 'threshold' in headcount_crossed_threshold.
        - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the milestone
      - NewOfficeLocation
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'new_office_location', required
        - `entityType` 'company', required
        - `countries` string[], nullable — ISO 3166-1 alpha-3 country codes (e.g. 'USA', 'GBR', 'DEU'). Only alert for offices in these countries. Omit for any new office.
        - `cities` string[], nullable — City names (e.g. 'San Francisco', 'London', 'Berlin'). Only alert for offices in these cities. Omit for any new office.
        - `regions` string[], nullable — Region codes (e.g. 'X-EMEA', 'X-APAC', 'X-EUROPE'). Expands to constituent country codes. Omit for any.
        - `states` string[], nullable — State or province names (e.g. 'California', 'Ontario'). Omit for any.
      - CompanyLogoChanged
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'company_logo_changed', required
        - `entityType` 'company', required
      - AcquiredCompany
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'acquired_company', required
        - `entityType` 'company', required
        - `minPriceUsd` number, nullable — Only alert for acquisitions above this price. Omit for any acquisition.
      - NewInvestor
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'new_investor', required
        - `entityType` 'company', required
        - `investorNames` string[], nullable — Only alert when a new investor's name matches one of these (exact, case-insensitive). Omit for any new investor.
      - RecentlyHiredWithTitle
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'recently_hired_with_title', required
        - `entityType` 'company', required
        - `titleKeywords` string[], required — Title keywords to search for. Fires when the company hires someone whose title matches any keyword.
        - `minNewHires` integer, nullable — Minimum number of NEW hires detected in a single check cycle to trigger the alert. Only counts employees who appeared since the last check. Omit for 1.
      - DepartmentSizeThreshold
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'department_size_threshold', required
        - `entityType` 'company', required
        - `department` 'Accounting' | 'Administrative' | 'Advertising' | 'Analyst' | 'Art / Creative' | 'Business Development' | 'Community & Social Services' | 'Consulting' | 'Customer Service' | 'Design' | 'Distribution' | 'Education' | 'Engineering' | 'Entrepreneurship' | 'Finance' | 'General Business' | 'Health Care Provider' | 'Human Resources' | 'Information Technology' | 'Legal' | 'Management' | 'Manufacturing' | 'Marketing' | 'Military & Protective Services' | 'Other' | 'Product Management' | 'Production' | 'Program & Product Management' | 'Project Management' | 'Public Relations' | 'Purchasing' | 'Quality Assurance' | 'Real Estate' | 'Research' | 'Sales' | 'Science' | 'Strategy / Planning' | 'Supply Chain' | 'Training' | 'Writing / Editing', required — Department to track. Matched against the company's organizational structure.
        - `threshold` integer, required — The employee count threshold to watch for crossing
        - `direction` 'above' | 'below', required — Whether to alert when department size crosses above or below the threshold
      - RecentLayoffs
        - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
        - `isDummy` boolean — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
        - `type` 'recent_layoffs', required
        - `entityType` 'company', required
        - `minPeopleAffected` integer, nullable — Only alert if at least this many people were laid off. Omit for any layoff.
        - `minPercentAffected` number, nullable — Only alert if at least this percentage of the workforce was laid off. Omit for any layoff.

## Response `200`

Default Response

- object
  - `output` object, required
    - `id` string, required — Tracker list ID.
    - `name` string, required — Name of the list.
    - `refreshIntervalDays` integer, required — Check interval in days.
    - `trackingRules` union[], nullable — Active tracking rules on this list, with IDs for granular management.
      - union
        - HeadcountCrossedThresholdResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'headcount_crossed_threshold', required
          - `entityType` 'company', required
          - `direction` 'above' | 'below', required — Whether to alert when headcount crosses the threshold going up or down
          - `threshold` integer, required — The employee count threshold to watch for crossing. Any positive integer is accepted.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - HeadcountGrowthPercentResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'headcount_growth_percent', required
          - `entityType` 'company', required
          - `minPercentChange` number, required — Minimum percent change to trigger (e.g. 20 means 20% growth)
          - `direction` 'grew' | 'shrank' | 'either', required — Whether to alert on growth, shrinkage, or either
          - `minStartingHeadcount` integer, nullable — Only alert if the company had at least this many employees before the change. Omit for any starting size.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - NewFundingRoundResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'new_funding_round', required
          - `entityType` 'company', required
          - `minAmountUsd` number, nullable — Only alert for rounds above this amount. Omit for any amount.
          - `roundTypes` string[], nullable — Round types to alert on. Defaults to equity-focused types when omitted. Set explicitly to include debt/grant types.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - FundingStageChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'funding_stage_changed', required
          - `entityType` 'company', required
          - `toStages` string[], nullable — Only alert if new stage is one of these. Omit for any stage change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - JobPostingWithKeywordResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'job_posting_with_keyword', required
          - `entityType` 'company', required
          - `keywords` string[], required — Alert when a job posting title contains any of these keywords
          - `seniorityLevels` string[], nullable — Only alert for these seniority levels. Omit for any level.
          - `locationTypes` string[], nullable — Only alert for these location types. Omit for any. Deprecated.
          - `minPostings` integer, nullable — Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match).
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - JobPostingInFunctionResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'job_posting_in_function', required
          - `entityType` 'company', required
          - `jobFunctions` string[], nullable, required — Alert when a job posting is in any of these departments/functions.
          - `minPostings` integer, nullable — Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match).
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - NewsWithKeywordResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'news_with_keyword', required
          - `entityType` 'company', required
          - `keywords` string[], required — Alert when a news article title or summary matches any keyword
          - `sentiment` 'positive' | 'negative' | 'neutral' | 'null', nullable — Only alert for news with this sentiment. Omit for any sentiment.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyNewsResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_news', required
          - `entityType` 'company', required
          - `sentiment` 'positive' | 'negative' | 'neutral' | 'null', nullable — Only alert for news with this sentiment. Omit for any sentiment.
          - `minArticles` integer, nullable — Only alert when at least this many articles are detected in a single check. Useful for filtering noise from single tangential mentions. Omit for any count.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - HqLocationChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'hq_location_changed', required
          - `entityType` 'company', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyStatusChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_status_changed', required
          - `entityType` 'company', required
          - `toStatuses` string[], nullable — Only alert if new status is one of these. Omit for any status change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - TechnologyAddedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'technology_added', required
          - `entityType` 'company', required
          - `technologies` string[], nullable — Only alert for these technologies. Omit for any new technology.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyPostedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_posted', required
          - `entityType` 'company', required
          - `minReactions` integer, nullable — Only alert for posts with at least this many reactions. Omit for any.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyPostedWithKeywordResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_posted_with_keyword', required
          - `entityType` 'company', required
          - `keywords` string[], nullable — Alert for posts matching these keywords.
          - `minReactions` integer, nullable — Only alert for posts with at least this many reactions. Omit for any.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - FollowerCountGrowthResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'follower_count_growth', required
          - `entityType` 'company', required
          - `minAbsoluteGrowth` integer, nullable — Minimum absolute follower increase to trigger. Omit or set to 0 for any increase.
          - `minPercentGrowth` number, nullable — Minimum percent follower increase to trigger. Omit for any increase.
          - `minStartingFollowerCount` integer, nullable — Only alert if the company had at least this many followers before the growth. Omit for any starting count.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyNameChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_name_changed', required
          - `entityType` 'company', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyDescriptionChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_description_changed', required
          - `entityType` 'company', required
          - `keywords` string[], nullable — Only alert if new description contains one of these keywords. Omit for any change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyWentInactiveResponse — Fires when a company becomes inactive.
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_went_inactive', required
          - `entityType` 'company', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - EmployeeCountMilestoneResponse — Fires when the employee count crosses the specified value. Supports any positive integer, not just round milestones. Functionally equivalent to headcount_crossed_threshold.
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'employee_count_milestone', required
          - `entityType` 'company', required
          - `milestone` integer, required — The employee count threshold to watch for crossing. Any positive integer is accepted. Equivalent to 'threshold' in headcount_crossed_threshold.
          - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the milestone
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - NewOfficeLocationResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'new_office_location', required
          - `entityType` 'company', required
          - `countries` string[], nullable — ISO 3166-1 alpha-3 country codes (e.g. 'USA', 'GBR', 'DEU'). Only alert for offices in these countries. Omit for any new office.
          - `cities` string[], nullable — City names (e.g. 'San Francisco', 'London', 'Berlin'). Only alert for offices in these cities. Omit for any new office.
          - `regions` string[], nullable — Region codes (e.g. 'X-EMEA', 'X-APAC', 'X-EUROPE'). Expands to constituent country codes. Omit for any.
          - `states` string[], nullable — State or province names (e.g. 'California', 'Ontario'). Omit for any.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - CompanyLogoChangedResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'company_logo_changed', required
          - `entityType` 'company', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - AcquiredCompanyResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'acquired_company', required
          - `entityType` 'company', required
          - `minPriceUsd` number, nullable — Only alert for acquisitions above this price. Omit for any acquisition.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - NewInvestorResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'new_investor', required
          - `entityType` 'company', required
          - `investorNames` string[], nullable — Only alert when a new investor's name matches one of these (exact, case-insensitive). Omit for any new investor.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - RecentlyHiredWithTitleResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'recently_hired_with_title', required
          - `entityType` 'company', required
          - `titleKeywords` string[], required — Title keywords to search for. Fires when the company hires someone whose title matches any keyword.
          - `minNewHires` integer, nullable — Minimum number of NEW hires detected in a single check cycle to trigger the alert. Only counts employees who appeared since the last check. Omit for 1.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - DepartmentSizeThresholdResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'department_size_threshold', required
          - `entityType` 'company', required
          - `department` 'Accounting' | 'Administrative' | 'Advertising' | 'Analyst' | 'Art / Creative' | 'Business Development' | 'Community & Social Services' | 'Consulting' | 'Customer Service' | 'Design' | 'Distribution' | 'Education' | 'Engineering' | 'Entrepreneurship' | 'Finance' | 'General Business' | 'Health Care Provider' | 'Human Resources' | 'Information Technology' | 'Legal' | 'Management' | 'Manufacturing' | 'Marketing' | 'Military & Protective Services' | 'Other' | 'Product Management' | 'Production' | 'Program & Product Management' | 'Project Management' | 'Public Relations' | 'Purchasing' | 'Quality Assurance' | 'Real Estate' | 'Research' | 'Sales' | 'Science' | 'Strategy / Planning' | 'Supply Chain' | 'Training' | 'Writing / Editing', required — Department to track. Matched against the company's organizational structure.
          - `threshold` integer, required — The employee count threshold to watch for crossing
          - `direction` 'above' | 'below', required — Whether to alert when department size crosses above or below the threshold
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - RecentLayoffsResponse
          - `lookbackDays` integer, nullable — Compare against a snapshot from approximately N days ago instead of the most recent prior snapshot. Omit for the default previous-snapshot comparison. Maximum 90 days.
          - `isDummy` boolean, required — When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs.
          - `type` 'recent_layoffs', required
          - `entityType` 'company', required
          - `minPeopleAffected` integer, nullable — Only alert if at least this many people were laid off. Omit for any layoff.
          - `minPercentAffected` number, nullable — Only alert if at least this percentage of the workforce was laid off. Omit for any layoff.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
    - `isActive` boolean, required — Whether the list is actively being checked.
    - `isArchived` boolean, required — Whether the list is archived.
    - `companyCount` integer, required — Number of companies in this list.
    - `createdAt` string, date-time, required — When the list was created.
    - `nextRefreshAt` string, date-time, nullable — When the entire list will next be refreshed. All entities in the list are checked together at this time. Null if the list has no active entities or is inactive.
  - `chargeInfo` union, required
    - object — Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
  - `warnings` object[], nullable — Warnings about extraneous fields in request
    - `field` string, required — Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required — Warning message
  - `advice` string[], nullable — Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400` — Default Response
- `401` — Default Response
- `402` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `429` — Default Response
- `500` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.net/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiber/fiber-ai-api/versions/0c537984b99f/schema)
