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

# Create person tracker list

`POST /v1/tracker/person-lists`

Create a new person tracker list. Add people 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 people for changes, in days.
  - `trackingRules` union[], nullable — Tracking rules to evaluate against this list's entities. Multiple rules can be active simultaneously.
    - union
      - PersonChangedCompany
        - `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` 'person_changed_company', required
        - `entityType` 'person', required
        - `toCompanies` string[], nullable — Only alert if they moved TO one of these companies (domains or slugs). Omit for any.
        - `fromCompanies` string[], nullable — Only alert if they moved FROM one of these companies. Omit for any.
        - `toTitleKeywords` string[], nullable — Only alert if their title at the new company contains one of these keywords.
        - `toSeniorityLevels` string[], nullable — Only alert if their seniority at the new company is one of these levels.
        - `toEmploymentTypes` string[], nullable — Only alert for these employment types at the new company. Omit for any.
      - PersonTitleChanged
        - `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` 'person_title_changed', required
        - `entityType` 'person', required
        - `titleKeywords` string[], nullable — Only alert if new title contains one of these keywords. Omit for any title change.
        - `toSeniority` string[], nullable — Only alert if the new position's seniority level matches one of these. Omit for any seniority.
      - PersonStealthChanged
        - `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` 'person_stealth_changed', required
        - `entityType` 'person', required
        - `direction` 'entered' | 'exited' | 'either', required — Whether to alert on entering stealth, exiting, or either
      - PersonOpenToWork
        - `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` 'person_open_to_work', required
        - `entityType` 'person', required
        - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop signaling open-to-work
      - PersonIsHiring
        - `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` 'person_is_hiring', required
        - `entityType` 'person', required
        - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop signaling is-hiring
      - PersonHeadlineChanged
        - `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` 'person_headline_changed', required
        - `entityType` 'person', required
        - `keywords` string[], nullable — Only alert if new headline contains one of these keywords. Omit for any change.
      - PersonLocationChanged
        - `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` 'person_location_changed', required
        - `entityType` 'person', required
        - `toCountries` string[], nullable — ISO 3166-1 alpha-3 country codes (e.g. 'USA', 'GBR', 'DEU'). Only alert if moved to one of these countries. Omit for any relocation.
        - `fromCountries` string[], nullable — Only alert if they moved FROM one of these countries. Omit for any.
        - `regions` string[], nullable — Region codes (e.g. 'X-EMEA', 'X-APAC'). Only alert if destination country is in one of these regions. Omit for any.
      - PersonTagGained
        - `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` 'person_tag_gained', required
        - `entityType` 'person', required
        - `tags` string[], required — Alert when the person gains any of these system-assigned tags.
      - PersonPosted
        - `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` 'person_posted', required
        - `entityType` 'person', required
        - `minReactions` integer, nullable — Only alert for posts with at least this many reactions. Omit for any.
      - PersonPostedWithKeyword
        - `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` 'person_posted_with_keyword', required
        - `entityType` 'person', 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.
      - PersonReactedToPost
        - `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` 'person_reacted_to_post', required
        - `entityType` 'person', required
        - `keywords` string[], nullable — Only alert for reactions on posts whose content or author name matches these keywords. Omit for any reaction.
        - `reactionTypes` string[], nullable — Only alert for these reaction types. Omit for any type.
      - PersonCommentedOnPost
        - `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` 'person_commented_on_post', required
        - `entityType` 'person', required
        - `keywords` string[], nullable — Only alert for comments where the comment text, post content (when available from provider), or post author name matches these keywords. Omit for any comment.
      - PersonSkillsAdded
        - `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` 'person_skills_added', required
        - `entityType` 'person', required
        - `skills` string[], nullable — Only alert for these specific skills being added. Omit for any new skill.
      - PersonGotPromoted
        - `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` 'person_got_promoted', required
        - `entityType` 'person', required
        - `seniorityKeywords` string[], nullable — Only alert if new title contains these seniority keywords (e.g. 'VP', 'Director'). Omit for any promotion.
      - PersonStartedCompany
        - `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` 'person_started_company', required
        - `entityType` 'person', required
      - PersonEmploymentTypeChanged
        - `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` 'person_employment_type_changed', required
        - `entityType` 'person', required
        - `toTypes` string[], nullable — Only alert if new employment type is one of these. Omit for any change.
      - PersonConnectionsMilestone
        - `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` 'person_connections_milestone', required
        - `entityType` 'person', required
        - `threshold` integer, required — Connection count to watch for crossing
        - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the threshold
      - PersonFollowerMilestone
        - `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` 'person_follower_milestone', required
        - `entityType` 'person', required
        - `threshold` integer, required — Follower count to watch for crossing
        - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the threshold
      - PersonSummaryChanged
        - `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` 'person_summary_changed', required
        - `entityType` 'person', required
        - `keywords` string[], nullable — Only alert if new summary contains one of these keywords. Omit for any change.
      - PersonNewCertification
        - `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` 'person_new_certification', required
        - `entityType` 'person', required
        - `certificationKeywords` string[], nullable — Only alert for certifications matching these keywords. Omit for any new cert.
      - PersonBecameVerified
        - `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` 'person_became_verified', required
        - `entityType` 'person', required
      - PersonBecamePremium
        - `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` 'person_became_premium', required
        - `entityType` 'person', required
        - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop having premium status
      - PersonBecameInfluencer
        - `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` 'person_became_influencer', required
        - `entityType` 'person', required
        - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they join or leave the influencer program
      - PersonBecameTopVoice
        - `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` 'person_became_top_voice', required
        - `entityType` 'person', required
        - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they earn or lose the top voice badge
      - PersonGotDemoted
        - `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` 'person_got_demoted', required
        - `entityType` 'person', required
        - `seniorityKeywords` string[], nullable — Only alert if the previous title contained these seniority keywords (e.g. 'VP', 'Director'). Omit for any demotion.
      - PersonStuckInRole
        - `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` 'person_stuck_in_role', required
        - `entityType` 'person', required
        - `thresholdMonths` integer, required — Alert when the person has been in their current role for at least this many months without a title change.
      - PersonTenureMilestone
        - `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` 'person_tenure_milestone', required
        - `entityType` 'person', required
        - `thresholdMonths` integer, required — Alert when the person has been at their current company for at least this many months, regardless of role changes or promotions.

## 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
        - PersonChangedCompanyResponse
          - `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` 'person_changed_company', required
          - `entityType` 'person', required
          - `toCompanies` string[], nullable — Only alert if they moved TO one of these companies (domains or slugs). Omit for any.
          - `fromCompanies` string[], nullable — Only alert if they moved FROM one of these companies. Omit for any.
          - `toTitleKeywords` string[], nullable — Only alert if their title at the new company contains one of these keywords.
          - `toSeniorityLevels` string[], nullable — Only alert if their seniority at the new company is one of these levels.
          - `toEmploymentTypes` string[], nullable — Only alert for these employment types at the new company. Omit for any.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonTitleChangedResponse
          - `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` 'person_title_changed', required
          - `entityType` 'person', required
          - `titleKeywords` string[], nullable — Only alert if new title contains one of these keywords. Omit for any title change.
          - `toSeniority` string[], nullable — Only alert if the new position's seniority level matches one of these. Omit for any seniority.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonStealthChangedResponse
          - `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` 'person_stealth_changed', required
          - `entityType` 'person', required
          - `direction` 'entered' | 'exited' | 'either', required — Whether to alert on entering stealth, exiting, or either
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonOpenToWorkResponse
          - `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` 'person_open_to_work', required
          - `entityType` 'person', required
          - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop signaling open-to-work
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonIsHiringResponse
          - `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` 'person_is_hiring', required
          - `entityType` 'person', required
          - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop signaling is-hiring
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonHeadlineChangedResponse
          - `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` 'person_headline_changed', required
          - `entityType` 'person', required
          - `keywords` string[], nullable — Only alert if new headline contains one of these keywords. Omit for any change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonLocationChangedResponse
          - `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` 'person_location_changed', required
          - `entityType` 'person', required
          - `toCountries` string[], nullable — ISO 3166-1 alpha-3 country codes (e.g. 'USA', 'GBR', 'DEU'). Only alert if moved to one of these countries. Omit for any relocation.
          - `fromCountries` string[], nullable — Only alert if they moved FROM one of these countries. Omit for any.
          - `regions` string[], nullable — Region codes (e.g. 'X-EMEA', 'X-APAC'). Only alert if destination country is in one of these regions. Omit for any.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonTagGainedResponse
          - `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` 'person_tag_gained', required
          - `entityType` 'person', required
          - `tags` string[], required — Alert when the person gains any of these system-assigned tags.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonPostedResponse
          - `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` 'person_posted', required
          - `entityType` 'person', 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.
        - PersonPostedWithKeywordResponse
          - `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` 'person_posted_with_keyword', required
          - `entityType` 'person', 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.
        - PersonReactedToPostResponse
          - `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` 'person_reacted_to_post', required
          - `entityType` 'person', required
          - `keywords` string[], nullable — Only alert for reactions on posts whose content or author name matches these keywords. Omit for any reaction.
          - `reactionTypes` string[], nullable — Only alert for these reaction types. Omit for any type.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonCommentedOnPostResponse
          - `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` 'person_commented_on_post', required
          - `entityType` 'person', required
          - `keywords` string[], nullable — Only alert for comments where the comment text, post content (when available from provider), or post author name matches these keywords. Omit for any comment.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonSkillsAddedResponse
          - `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` 'person_skills_added', required
          - `entityType` 'person', required
          - `skills` string[], nullable — Only alert for these specific skills being added. Omit for any new skill.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonGotPromotedResponse
          - `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` 'person_got_promoted', required
          - `entityType` 'person', required
          - `seniorityKeywords` string[], nullable — Only alert if new title contains these seniority keywords (e.g. 'VP', 'Director'). Omit for any promotion.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonStartedCompanyResponse
          - `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` 'person_started_company', required
          - `entityType` 'person', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonEmploymentTypeChangedResponse
          - `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` 'person_employment_type_changed', required
          - `entityType` 'person', required
          - `toTypes` string[], nullable — Only alert if new employment type is one of these. Omit for any change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonConnectionsMilestoneResponse
          - `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` 'person_connections_milestone', required
          - `entityType` 'person', required
          - `threshold` integer, required — Connection count to watch for crossing
          - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the threshold
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonFollowerMilestoneResponse
          - `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` 'person_follower_milestone', required
          - `entityType` 'person', required
          - `threshold` integer, required — Follower count to watch for crossing
          - `direction` 'above' | 'below', required — Whether to alert when crossing above or below the threshold
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonSummaryChangedResponse
          - `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` 'person_summary_changed', required
          - `entityType` 'person', required
          - `keywords` string[], nullable — Only alert if new summary contains one of these keywords. Omit for any change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonNewCertificationResponse
          - `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` 'person_new_certification', required
          - `entityType` 'person', required
          - `certificationKeywords` string[], nullable — Only alert for certifications matching these keywords. Omit for any new cert.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonBecameVerifiedResponse
          - `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` 'person_became_verified', required
          - `entityType` 'person', required
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonBecamePremiumResponse
          - `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` 'person_became_premium', required
          - `entityType` 'person', required
          - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they start or stop having premium status
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonBecameInfluencerResponse
          - `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` 'person_became_influencer', required
          - `entityType` 'person', required
          - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they join or leave the influencer program
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonBecameTopVoiceResponse
          - `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` 'person_became_top_voice', required
          - `entityType` 'person', required
          - `direction` 'started' | 'stopped' | 'either', required — Whether to alert when they earn or lose the top voice badge
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonGotDemotedResponse
          - `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` 'person_got_demoted', required
          - `entityType` 'person', required
          - `seniorityKeywords` string[], nullable — Only alert if the previous title contained these seniority keywords (e.g. 'VP', 'Director'). Omit for any demotion.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonStuckInRoleResponse
          - `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` 'person_stuck_in_role', required
          - `entityType` 'person', required
          - `thresholdMonths` integer, required — Alert when the person has been in their current role for at least this many months without a title change.
          - `id` string, required — Unique rule ID. Use with removeRuleIds to delete a specific rule.
        - PersonTenureMilestoneResponse
          - `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` 'person_tenure_milestone', required
          - `entityType` 'person', required
          - `thresholdMonths` integer, required — Alert when the person has been at their current company for at least this many months, regardless of role changes or promotions.
          - `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.
    - `personCount` integer, required — Number of people 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)
