---
title: "Update company tracker list"
method: PATCH
path: "/v1/tracker/company-lists/{listId}"
tags: ["Tracker"]
---

# Update company tracker list

`PATCH /v1/tracker/company-lists/{listId}`

Update a company tracker list. Supports replace-all (`trackingRules`) or granular (`addRules`/`removeRuleIds`) rule management — but not both in one request.

<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>

## Path parameters

- `listId` string, required

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `name` string, nullable — New name for the list.
  - `refreshIntervalDays` integer, nullable — New check interval in days.
  - `isActive` boolean, nullable — Pause or resume monitoring on the list.
  - `trackingRules` union[], nullable — Replace ALL existing rules with this set. Pass empty array to clear all rules. Omit to leave unchanged. Cannot be used with `addRules`/`removeRuleIds`.
    - 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.
  - `addRules` union[], nullable — Add rules to the existing set without removing others. The total active rules on the list (existing + added) must not exceed the per-list cap. Cannot be used with `trackingRules`.
    - 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.
  - `removeRuleIds` string[], nullable — Rule IDs to remove. Cannot be used with `trackingRules`.
  - `updateRuleFlags` object[], nullable — Toggle `isDummy` on existing rules by ID. Use this to convert a real rule into a dummy rule (or vice versa) without recreating it.
    - `ruleId` string, required — ID of the rule to update.
    - `isDummy` boolean, required — Set `isDummy` flag on this rule.
  - `initialSignals` object, nullable — When provided, generates signals immediately for recent events (funding rounds, news, job postings, social posts) without waiting for the first tracking cycle. Only certain rule types support initial signals.
    - `lookbackPeriodDays` integer, nullable — How many days back from today to search for recent events. Useful for bootstrapping a new list without waiting for the first scheduled refresh. Defaults to the list's refresh interval if not provided.

## 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/693a454797a3/schema)
