Fiber AI API API

Welcome to the Fiber AI API!

GitHub OpenAPI

Operations 270

Showing the first 250 of 270. The full set is in the contract, and via get_provider_operations.

GET /openapi.json Get OpenAPI schema #
GET /quickstart Get quickstart install script #
GET /health Health check #
GET /v1/get-org-credits Get organization credits #
GET /v1/rate-limits Get organization rate limits #
GET /v1/auto-topup/settings Get auto top-up settings #
POST /v1/auto-topup/configure Update auto top-up settings #
POST /v1/buy-credits Buy credits #
POST /v1/cards/attach Attach card to trial account #
POST /v1/api-keys List API keys #
POST /v1/api-keys/current Get API key #
POST /v1/api-keys/expiration Update API key expiration #
POST /v1/api-keys/revoke Revoke API key #
POST /v1/api-keys/limit Update API key credit limits #
POST /v1/api-keys/usage/reset Reset API key usage #
POST /v1/api-keys/create-sandbox Create sandbox API key #
POST /v1/api-requests List your past API requests #
POST /v1/api-requests/download Download your past API requests #
GET /v1/webhooks/event-types List webhook event types #
POST /v1/webhooks/endpoints Create webhook endpoint #
GET /v1/webhooks/endpoints List webhook endpoints #
GET /v1/webhooks/endpoints/{endpointId} Get webhook endpoint #
PATCH /v1/webhooks/endpoints/{endpointId} Update webhook endpoint #
DELETE /v1/webhooks/endpoints/{endpointId} Delete webhook endpoint #
POST /v1/webhooks/endpoints/{endpointId}/rotate-secret Rotate webhook signing secret #
POST /v1/webhooks/endpoints/{endpointId}/test-event Send test webhook event #
POST /v1/account/send-otp Start signup (send OTP) #
POST /v1/account/verify-otp Complete signup (verify OTP) #
POST /v1/contact-details/exhaustive/poll Poll exhaustive contact details reveal result #
POST /v1/depth-chart/poll Poll depth chart generation result #
POST /v1/mosaic/poll Poll Mosaic run status #
POST /v1/contact-details/batch/poll Poll batch contact details #
POST /v1/linkedin-live-fetch/batch/poll Poll batch live enrichment #
POST /v1/google-maps-search/poll Poll for Google Maps results #
POST /v1/local-business-search/poll Poll local business search #
POST /v1/google-maps-search/check Check progress for Google Maps results #
POST /v1/domain-lookup/polling Poll Domain lookup #
POST /v1/github-lookup/poll Poll GitHub lookup results #
POST /v1/lookalikes/poll Poll lookalike run #
POST /v1/lookalikes/export-csv Export lookalike results CSV #
POST /v1/github-to-linkedin/polling Poll GitHub to LinkedIn lookup #
POST /v1/github/org-contributors/poll Poll an organization contributor scan #
POST /v1/social-media-lookup/polling Poll social media lookup #
POST /v1/social-media-lookup/batch/poll Poll batch social media lookup #
POST /v1/exclusions/companies/get-lists Get company exclusion list #
POST /v1/exclusions/companies/create-list Create company exclusion list #
POST /v1/exclusions/companies/delete-list Delete company exclusion list #
POST /v1/exclusions/companies/add-to-list Add companies to a company exclusion list #
POST /v1/exclusions/companies/remove-from-list Remove company from company exclusion list #
POST /v1/exclusions/companies/read-from-list Get excluded companies for exclusion list #
POST /v1/exclusions/companies/audience/create-list Create company exclusion list from audience #
POST /v1/exclusions/prospects/get-lists Get prospect exclusion lists #
POST /v1/exclusions/prospects/create-list Create prospect exclusion list #
POST /v1/exclusions/prospects/delete-list Delete prospect exclusion list #
POST /v1/exclusions/prospects/add-to-list Add prospects to a prospect exclusion list #
POST /v1/exclusions/prospects/remove-from-list Remove prospect from prospect exclusion list #
POST /v1/exclusions/prospects/read-from-list Get excluded prospects for exclusion list #
POST /v1/exclusions/prospects/audience/create-list Create prospect exclusion list from audience #
GET /v1/enums/regions List countries and regions #
GET /v1/enums/languages List languages #
GET /v1/enums/time-zones List time zones #
GET /v1/enums/industries List industries #
GET /v1/enums/job-categories List job functions, specialties, and seniorities #
GET /v1/enums/tags List profile and company tags #
GET /v1/enums/naics-codes List NAICS codes #
GET /v1/enums/accelerators List accelerators #
GET /v1/enums/subdivisions List subdivisions by country #
GET /v1/enums/technologies List technologies #
GET /v1/enums/skills List skills #
GET /v1/enums/flight-regions List flight region aliases #
GET /v1/enums/hotels/amenities List hotel amenity filters #
GET /v1/enums/hotels/property-types List hotel property type filters #
GET /v1/enums/hotels/brands List hotel brand filters #
GET /v1/enums/metro-areas List preset metro areas #
POST /v1/audiences/create Create a new audience #
GET /v1/audiences/{audienceId}/status Get audience status #
DELETE /v1/audiences/{audienceId} Archive an audience #
GET /v1/audiences List all audiences #
GET /v1/audiences/{audienceId}/companies Get companies in an audience #
GET /v1/audiences/{audienceId}/prospects Get prospects in an audience #
PATCH /v1/audiences/{audienceId}/search-params Set audience search parameters #
GET /v1/audiences/{audienceId}/enrichment/status Get enrichment status #
POST /v1/audiences/{audienceId}/enrichment/estimate Estimate enrichment cost #
POST /v1/audiences/{audienceId}/export/companies Export audience companies to CSV #
POST /v1/audiences/{audienceId}/export/prospects Export audience prospects to CSV #
POST /v1/company-search Company search #
POST /v1/company-count Company count #
POST /v1/job-search Job postings search #
POST /v1/job-search/count Job postings count #
POST /v1/people-search People search #
POST /v1/people-search/count People search count #
POST /v1/combined-search/paginated Combined people + company search #
POST /v1/company-logos/bulk Bulk company logos #
POST /v1/profile-pic/bulk Bulk profile pics #
POST /v1/combined-search/count Combined search count #
POST /v1/company-resolve Quickly resolve company identifiers #
POST /v1/person-resolve Quickly resolve person identifiers #
POST /v1/company-rankings Download a ranked company list #
POST /v1/stealth-founders/search Search stealth/ex-stealth founders #
POST /v1/stealth-founders/count Count stealth/ex-stealth founders #
POST /v1/contact-details/turbo/sync Reveal contact details (turbo) #
POST /v1/contact-details/premium-phone/sync Premium phone number lookup #
POST /v1/contact-details/single Reveal contact details (standard) #
POST /v1/contact-details/reveal Reveal contact details (time-budgeted) #
POST /v1/contact-details/lite Reveal contact details (lite) #
POST /v1/contact-details/basic-work-email Find work email by name and company #
POST /v1/contact-details/instant Reveal contact details (instant) #
POST /v1/depth-chart/start Start depth chart generation #
POST /v1/department-size Count employees per department #
POST /v1/talent-flow Get talent flow analysis for a company #
POST /v1/talent-flow/rivals Get top talent sources/destinations for a company #
POST /v1/mosaic/start Start Mosaic CSV healing #
POST /v1/contact-details/exhaustive/start Start exhaustive contact details reveal #
POST /v1/contact-details/batch/start Start batch contact details #
POST /v1/contact-details/batch/cancel Cancel batch contact details #
POST /v1/linkedin-live-fetch/profile/single Live fetch LinkedIn profile #
POST /v1/linkedin-live-fetch/company/single Live fetch LinkedIn company #
POST /v1/live-fetch/webpage/screenshot Capture webpage screenshot #
POST /v1/linkedin-live-fetch/batch/start Start batch live enrichment #
POST /v1/linkedin-live-fetch/profile-posts Fetch LinkedIn profile posts #
POST /v1/linkedin-live-fetch/company-posts Fetch LinkedIn company posts #
POST /v1/linkedin-live-fetch/post-comments Fetch LinkedIn post comments #
POST /v1/linkedin-live-fetch/post-reactions Fetch LinkedIn post reactions #
POST /v1/linkedin-live-fetch/profile-comments Fetch LinkedIn profile comments #
POST /v1/linkedin-live-fetch/profile-reactions Fetch LinkedIn profile reactions #
POST /v1/linkedin-live-fetch/posts/search Search LinkedIn posts by keywords #
POST /v1/standardize/profile/single Standardize LinkedIn profile entity URN #
POST /v1/standardize/company/single Standardize LinkedIn company identifier #
POST /v1/standardize/company/bulk Bulk standardize LinkedIn company identifiers #
POST /v1/email-to-person/single Find person by email (single) #
POST /v1/email-to-person/hashed Find person by hashed email (HEM) #
POST /v1/email-to-person/single/lite Find person by email (lite, high-volume) #
POST /v1/phone-to-person/single Find person or company by phone (single) #
POST /v1/kitchen-sink/person Kitchen sink person lookup #
POST /v1/kitchen-sink/company Kitchen sink company lookup #
POST /v1/kitchen-sink/bulk/profile Kitchen sink bulk profile lookup #
POST /v1/kitchen-sink/bulk/company Kitchen sink bulk company lookup #
POST /v1/typeahead/company Company/School/Investor Typeahead #
POST /v1/typeahead/job-title Job Title Synonym Expansion #
POST /v1/typeahead/location Location typeahead #
POST /v1/typeahead/skills Skills Typeahead #
POST /v1/validate-email/single Validate a single email #
POST /v1/validate-phone/single Validate a single phone number #
POST /v1/nlp-search/parse Parse natural language to search params #
POST /v1/nlp-search/run Natural language search #
POST /v1/saved-search/create Create saved search #
POST /v1/saved-search/get Get saved search #
POST /v1/saved-search/run/get Get saved search run #
POST /v1/saved-search/spawn Manually spawn saved search run #
POST /v1/saved-search/skip-next-run Skip next saved search auto-run #
POST /v1/saved-search/undo-skip Undo skip next saved search auto-run #
POST /v1/saved-search/update Update saved search #
POST /v1/saved-search/run/list List saved search runs #
POST /v1/saved-search/list List saved searches #
POST /v1/saved-search/run/status Get saved search run status #
POST /v1/saved-search/current/profiles Get current profiles in saved search #
POST /v1/saved-search/current/companies Get current companies in saved search #
POST /v1/saved-search/run/profiles Get saved search run profiles #
POST /v1/saved-search/run/companies Get saved search run companies #
POST /v1/saved-search/run/get-latest Get latest saved search run #
POST /v1/local-business-search/start Start Local business AI search #
POST /v1/domain-lookup/trigger Start Domain lookup #
POST /v1/multi-source/search Multi-source AI search #
POST /v1/audiences/{audienceId}/build Build audience from search parameters #
POST /v1/audiences/{audienceId}/enrich Trigger audience enrichment #
POST /v1/github-lookup/trigger Start GitHub lookup #
POST /v1/lookalikes/trigger Start lookalike run #
POST /v1/github-to-linkedin/trigger Start GitHub to LinkedIn lookup #
POST /v1/github-to-linkedin/single Find person by GitHub username (single) #
POST /v1/github/repo-contributors List contributors to a repository #
POST /v1/github/user-profile Get a GitHub user profile and language breakdown #
POST /v1/github/user-repo-activity Get a user's activity in a repository #
POST /v1/github/repo-search Search repositories #
POST /v1/github/org-contributors/trigger Start an organization contributor scan #
POST /v1/social-media-lookup/trigger Start social media lookup #
POST /v1/social-media-lookup/batch/trigger Start batch social media lookup (X, Instagram) #
POST /v1/twitter-handle-to-linkedin/single Find LinkedIn URL from X (Twitter) handle #
POST /v1/youtube/transcript Fetch YouTube video transcript #
POST /v1/youtube/video-details Fetch YouTube video details #
POST /v1/youtube/video-comments Fetch YouTube video comments #
POST /v1/youtube/search Search YouTube videos #
POST /v1/youtube/channel Fetch YouTube channel info and videos #
POST /v1/flights/search Search flights #
POST /v1/flights/booking-options Get flight booking options #
POST /v1/flights/deals Search flight deals #
POST /v1/hotels/search Search hotels #
POST /v1/hotels/property Get hotel property details #
POST /v1/booking/search Search Booking.com properties #
POST /v1/booking/property Get Booking.com property details #
POST /v1/yelp/search Search Yelp businesses #
POST /v1/yelp/place Get a Yelp business page #
POST /v1/yelp/reviews Get Yelp business reviews #
POST /v1/google-maps/search Search Google Maps places #
POST /v1/google-maps/place Get a Google Maps place #
POST /v1/google-maps/reviews Get Google Maps place reviews #
POST /v1/real-estate/listings Fetch real estate listings #
POST /v1/finance/instrument Look up a financial instrument #
POST /v1/blue-collar-jobs/search Search blue collar job listings #
POST /v1/blue-collar-jobs/resolve-company Resolve company to blue collar job board identifier #
POST /v1/scouting-report Get company scouting report #
POST /v1/job-changes/create-list Create job change list #
POST /v1/job-changes/get-list Get a job changes list #
POST /v1/job-changes/update-list Update job change list #
POST /v1/job-changes/delete-list Delete a job changes list #
POST /v1/job-changes/add-profiles Add profiles to the job change list #
POST /v1/job-changes/delete-profiles Delete profiles from a job change list #
POST /v1/job-changes/list-all List all job changes lists #
POST /v1/job-changes/list-all-profiles Lists all profiles from a job change list #
POST /v1/tracker/company-lists Create company tracker list #
GET /v1/tracker/company-lists List company tracker lists #
GET /v1/tracker/company-lists/{listId} Get company tracker list #
DELETE /v1/tracker/company-lists/{listId} Archive company tracker list #
PATCH /v1/tracker/company-lists/{listId} Update company tracker list #
PUT /v1/tracker/company-lists/{listId}/companies Add companies to tracker list #
DELETE /v1/tracker/company-lists/{listId}/companies Remove companies from tracker list #
GET /v1/tracker/signals/{listId} List signals #
POST /v1/tracker/person-lists Create person tracker list #
GET /v1/tracker/person-lists List person tracker lists #
GET /v1/tracker/person-lists/{listId} Get person tracker list #
DELETE /v1/tracker/person-lists/{listId} Archive person tracker list #
PATCH /v1/tracker/person-lists/{listId} Update person tracker list #
PUT /v1/tracker/person-lists/{listId}/people Add people to tracker list #
DELETE /v1/tracker/person-lists/{listId}/people Remove people from tracker list #
GET /v1/tracker/overview Summarize all tracker lists #
GET /v1/tracker/pricing-tiers Explain your tracker pricing tiers #
POST /v1/tracker/fire-dummy/{listId} Fire test signals #
POST /v1/tracker/rules/preview-signal Preview a signal #
GET /v1/tracker/rules List available tracker rules #
POST /v1/tracker/company-lists/{listId}/refresh Refresh company tracker list #
POST /v1/tracker/person-lists/{listId}/refresh Refresh person tracker list #
POST /v1/tracker/company-lists/{listId}/reschedule Reschedule company tracker list refresh #
POST /v1/tracker/person-lists/{listId}/reschedule Reschedule person tracker list refresh #
POST /v1/tiktok/profile Fetch TikTok user profile #
POST /v1/tiktok/user-videos Fetch TikTok user videos #
POST /v1/tiktok/user-followers Fetch TikTok user followers #
POST /v1/tiktok/user-following Fetch TikTok user following #
POST /v1/tiktok/video-details Fetch TikTok video details #
POST /v1/tiktok/video-comments Fetch TikTok video comments #
POST /v1/tiktok/comment-replies Fetch TikTok comment replies #
POST /v1/tiktok/video-transcript Fetch TikTok video transcript #
POST /v1/tiktok/search-users Search TikTok users #
POST /v1/tiktok/search-keyword Search TikTok videos by keyword #
POST /v1/tiktok/search-hashtag Search TikTok hashtag videos #
POST /v1/tiktok/unified-search TikTok unified search #
POST /v1/tiktok/popular-songs Fetch popular TikTok songs #
POST /v1/tiktok/trending-feed Fetch TikTok trending feed #
POST /v1/tiktok/song-details Fetch TikTok song details #
POST /v1/tiktok/song-videos Fetch TikTok videos using a song #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/fiber-ai:fiber-ai-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fiber-ai-api-openapi.json Raw ↑
{"openapi":"3.1.0","info":{"title":"Fiber AI API","version":"1.44.0","description":"# Welcome to the Fiber AI API!\n\n\n\nGet your API key at <https://fiber.ai/app/api>.\n\n## Authentication\n\nInclude your API key in **one** of the following ways (listed in priority order):\n\n**Option 1 — Request body (POST) or query params (GET):**\n```json\n{\n\"apiKey\": \"YOUR_API_KEY\"\n}\n```\n\nFor a GET request, you can include your API key in the query params like this:\n```\n?apiKey=YOUR_API_KEY\n```\n\n**Option 2 — `x-api-key` header:**\n```\nx-api-key: YOUR_API_KEY\n```\n\n**Option 3 — `Authorization` header (Bearer token):**\n```\nAuthorization: Bearer YOUR_API_KEY\n```\n\nIf an API key is provided in both the body/query and a header, the body/query value takes precedence.\n\n## Rate limits\n\nEach endpoint has its own rate limit, and if you exceed it you will get a '429' error. Please contact us if you'd like to request a higher rate limit.\n\n## Client timeouts\n\nSome sync endpoints perform live data fetches or multi-step enrichment and can take longer than the default HTTP client timeout (often 30s). Endpoints that require extra time display a **Recommended timeout** badge in their documentation. Configure your HTTP client's timeout to at least the recommended value before calling those endpoints to avoid premature connection drops.\n\n## Troubleshooting\n\nEvery response carries an `x-fiber-request-id` header. Log it alongside your request and include it in a support request — it's the fastest way for us to find the exact call you are describing.\n\nPolling endpoints don't carry an id we can look up. For those, include the request timestamp and the payload.\n\nNeed help? Write to adi@fiber.ai or your contact on the Fiber team.\n\n## Webhooks\n\nFiber can send webhook notifications to your application when certain events occur. You can configure your webhook endpoints at <https://fiber.ai/app/api> (the same page where you manage your API keys).\n\nFor a full list of available webhook event types, see <https://www.svix.com/event-types/us/org_36NygGf4vTv8iDHHZgXdCNazcJx/>.\n\n# SDKs & MCP\n\nIntegrate the Fiber API into your applications with official SDKs or via **MCP** (Model Context Protocol) for LLM and AI agents.\n\n- **[llms.txt](/llms.txt)** — Agent-facing index (routing, MCP workflows, links to `/ai-docs/`).\n- **[ai-docs](/ai-docs/index.md)** — Markdown docs for each endpoint; each lives at `/ai-docs/<operationId>.md`.\n- **Node.js SDK:** <https://www.npmjs.com/package/@fiberai/sdk>\n- **Python SDK:** <https://pypi.org/project/fiberai/>\n- **[Fiber SDKs](https://docs.fiber.ai/article/fiber-sdks)** — Client libraries and usage guides for your language or framework.\n- **[Using MCP in LLMs](https://docs.fiber.ai/article/using-mcp-in-llms)** — Connect Claude, Cursor, and other MCP-compatible tools to Fiber.\n- **[Developing with AI agents](https://docs.fiber.ai/article/developing-with-ai-agents)** — Plugins, MCP servers, skills, and quickstart for building with Fiber in your IDE.\n\n## OpenFiber: an open-source frontend for your agent\n\nBuilding an AI sales, recruiting, or GTM agent on top of the Fiber API? You don't have to build the UI from scratch. **OpenFiber** is our open-source frontend, built entirely on these APIs and the SDKs above. It already covers search, enrichment, audiences, trackers, and exports.\n\n- **[open.fiber.ai](https://open.fiber.ai)** — Try the live app.\n- **[GitHub repo](https://github.com/fiber-ai/open-fiber)** — Fork it, restyle it, and ship it.\n- **[OpenFiber docs](https://docs.fiber.ai/build/openfiber)** — Setup, white-labeling, and how to fork it into your own product.\n\nIt's MIT-licensed, so feel free to white-label it and drop it into your product. It'll help you get to market faster.\n\n---\n\n"},"components":{"schemas":{"HeadcountCrossedThreshold":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"headcount_crossed_threshold"},"entityType":{"type":"string","const":"company"},"direction":{"type":"string","enum":["above","below"],"description":"Whether to alert when headcount crosses the threshold going up or down"},"threshold":{"type":"integer","exclusiveMinimum":0,"description":"The employee count threshold to watch for crossing. Any positive integer is accepted."}},"required":["type","entityType","direction","threshold"],"title":"Headcount crossed threshold"},"HeadcountGrowthPercent":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"headcount_growth_percent"},"entityType":{"type":"string","const":"company"},"minPercentChange":{"type":"number","exclusiveMinimum":0,"maximum":1000,"description":"Minimum percent change to trigger (e.g. 20 means 20% growth)"},"direction":{"type":"string","enum":["grew","shrank","either"],"description":"Whether to alert on growth, shrinkage, or either"},"minStartingHeadcount":{"type":["integer","null"],"exclusiveMinimum":0,"description":"Only alert if the company had at least this many employees before the change. Omit for any starting size."}},"required":["type","entityType","minPercentChange","direction"],"title":"Headcount growth percent"},"NewFundingRound":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"new_funding_round"},"entityType":{"type":"string","const":"company"},"minAmountUsd":{"type":["number","null"],"minimum":0,"description":"Only alert for rounds above this amount. Omit for any amount."},"roundTypes":{"type":["array","null"],"items":{"type":"string","enum":["pre_seed","seed","angel","series_a","series_b","series_c","series_d","series_e","series_f","series_g","private_equity","debt_financing","grant","convertible_note","corporate_round","undisclosed"]},"minItems":1,"description":"Round types to alert on. Defaults to equity-focused types when omitted. Set explicitly to include debt/grant types."}},"required":["type","entityType"],"title":"New funding round"},"FundingStageChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"funding_stage_changed"},"entityType":{"type":"string","const":"company"},"toStages":{"type":["array","null"],"items":{"type":"string","enum":["pre_seed","seed","series_a","series_b","series_c","series_d","series_e","series_f","series_g","private_equity","public","acquired"]},"minItems":1,"description":"Only alert if new stage is one of these. Omit for any stage change."}},"required":["type","entityType"],"title":"Funding stage changed"},"JobPostingWithKeyword":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"job_posting_with_keyword"},"entityType":{"type":"string","const":"company"},"keywords":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"description":"Alert when a job posting contains any of these keywords in the selected search fields."},"searchFields":{"type":["array","null"],"items":{"type":"string","enum":["title","description"]},"minItems":1,"description":"Job posting fields to search for the keywords. Omit to search the title only."},"seniorityLevels":{"type":["array","null"],"items":{"type":"string","enum":["Internship","Entry level","Associate","Mid-Senior level","Director","Executive"]},"minItems":1,"description":"Only alert for these seniority levels. Omit for any level."},"modalities":{"type":["array","null"],"items":{"type":"string","enum":["On-site","Remote","Hybrid"]},"minItems":1,"description":"Only alert for these job modalities. Omit for any."},"locationTypes":{"type":["array","null"],"items":{"type":"string","enum":["remote","on_site","hybrid"]},"minItems":1,"description":"Deprecated. Use modalities instead.","deprecated":true},"minPostings":{"type":["integer","null"],"exclusiveMinimum":0,"description":"Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match)."}},"required":["type","entityType","keywords"],"title":"Job posting with keyword"},"JobPostingInFunction":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"job_posting_in_function"},"entityType":{"type":"string","const":"company"},"jobFunctions":{"type":["array","null"],"items":{"type":"string","enum":["Accounting","Administrative","Advertising","Analyst","Art / Creative","Business Development","Consulting","Customer Service","Design","Distribution","Education","Engineering","Finance","General Business","Health Care Provider","Human Resources","Information Technology","Legal","Management","Manufacturing","Marketing","Product Management","Production","Project Management","Public Relations","Purchasing","Quality Assurance","Research","Sales","Science","Strategy / Planning","Supply Chain","Training","Writing / Editing","Community & Social Services","Entrepreneurship","Military & Protective Services","Other","Program & Product Management","Real Estate"]},"description":"Alert when a job posting is in any of these departments/functions."},"minPostings":{"type":["integer","null"],"exclusiveMinimum":0,"description":"Only alert if at least this many NEW matching postings are detected in a single check cycle. Omit for 1 (any new match)."}},"required":["type","entityType","jobFunctions"],"title":"Job posting in function"},"NewsWithKeyword":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"news_with_keyword"},"entityType":{"type":"string","const":"company"},"keywords":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"description":"Alert when a news article title or summary matches any keyword"},"sentiment":{"type":["string","null"],"enum":["positive","negative","neutral",null],"description":"Only alert for news with this sentiment. Omit for any sentiment."}},"required":["type","entityType","keywords"],"title":"News with keyword"},"CompanyNews":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_news"},"entityType":{"type":"string","const":"company"},"sentiment":{"type":["string","null"],"enum":["positive","negative","neutral",null],"description":"Only alert for news with this sentiment. Omit for any sentiment."},"minArticles":{"type":["integer","null"],"minimum":1,"description":"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."}},"required":["type","entityType"],"title":"Company news"},"HqLocationChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"hq_location_changed"},"entityType":{"type":"string","const":"company"}},"required":["type","entityType"],"title":"HQ location changed"},"CompanyStatusChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_status_changed"},"entityType":{"type":"string","const":"company"},"toStatuses":{"type":["array","null"],"items":{"type":"string","enum":["operating","acquired","closed","ipo","subsidiary"]},"minItems":1,"description":"Only alert if new status is one of these. Omit for any status change."}},"required":["type","entityType"],"title":"Company status changed"},"TechnologyAdded":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"technology_added"},"entityType":{"type":"string","const":"company"},"technologies":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"Only alert for these technologies. Omit for any new technology."}},"required":["type","entityType"],"title":"Technology added"},"CompanyPosted":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_posted"},"entityType":{"type":"string","const":"company"},"minReactions":{"type":["integer","null"],"minimum":0,"description":"Only alert for posts with at least this many reactions. Omit for any."}},"required":["type","entityType"],"title":"Company posted"},"CompanyPostedWithKeyword":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_posted_with_keyword"},"entityType":{"type":"string","const":"company"},"keywords":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"Alert for posts matching these keywords."},"excludedKeywords":{"type":["array","null"],"items":{"type":"string","minLength":1},"maxItems":20,"description":"Suppress posts containing any of these keywords. A post that matches an exclusion keyword never alerts, even when it also matches the rule's keywords. Omit for no exclusions."},"minReactions":{"type":["integer","null"],"minimum":0,"description":"Only alert for posts with at least this many reactions. Omit for any."}},"required":["type","entityType"],"title":"Company posted with keyword"},"FollowerCountGrowth":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"follower_count_growth"},"entityType":{"type":"string","const":"company"},"minAbsoluteGrowth":{"type":["integer","null"],"minimum":0,"description":"Minimum absolute follower increase to trigger. Omit or set to 0 for any increase."},"minPercentGrowth":{"type":["number","null"],"exclusiveMinimum":0,"description":"Minimum percent follower increase to trigger. Omit for any increase."},"minStartingFollowerCount":{"type":["integer","null"],"exclusiveMinimum":0,"description":"Only alert if the company had at least this many followers before the growth. Omit for any starting count."}},"required":["type","entityType"],"title":"Follower count growth"},"CompanyNameChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_name_changed"},"entityType":{"type":"string","const":"company"}},"required":["type","entityType"],"title":"Company name changed"},"CompanyDescriptionChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_description_changed"},"entityType":{"type":"string","const":"company"},"keywords":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"Only alert if new description contains one of these keywords. Omit for any change."}},"required":["type","entityType"],"title":"Company description changed"},"CompanyWentInactive":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_went_inactive"},"entityType":{"type":"string","const":"company"}},"required":["type","entityType"],"description":"Fires when a company becomes inactive.","title":"Company went inactive"},"EmployeeCountMilestone":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"employee_count_milestone"},"entityType":{"type":"string","const":"company"},"milestone":{"type":"integer","exclusiveMinimum":0,"description":"The employee count threshold to watch for crossing. Any positive integer is accepted. Equivalent to 'threshold' in headcount_crossed_threshold."},"direction":{"type":"string","enum":["above","below"],"description":"Whether to alert when crossing above or below the milestone"}},"required":["type","entityType","milestone","direction"],"description":"Fires when the employee count crosses the specified value. Supports any positive integer, not just round milestones. Functionally equivalent to headcount_crossed_threshold.","title":"Employee count milestone"},"NewOfficeLocation":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"new_office_location"},"entityType":{"type":"string","const":"company"},"countries":{"type":["array","null"],"items":{"type":"string","pattern":"^[A-Z]{3}$","minLength":3,"maxLength":3},"minItems":1,"description":"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":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"City names (e.g. 'San Francisco', 'London', 'Berlin'). Only alert for offices in these cities. Omit for any new office."},"regions":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"Region codes (e.g. 'X-EMEA', 'X-APAC', 'X-EUROPE'). Expands to constituent country codes. Omit for any."},"states":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"State or province names (e.g. 'California', 'Ontario'). Omit for any."}},"required":["type","entityType"],"title":"New office location"},"CompanyLogoChanged":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"company_logo_changed"},"entityType":{"type":"string","const":"company"}},"required":["type","entityType"],"title":"Company logo changed"},"AcquiredCompany":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"acquired_company"},"entityType":{"type":"string","const":"company"},"minPriceUsd":{"type":["number","null"],"minimum":0,"description":"Only alert for acquisitions above this price. Omit for any acquisition."}},"required":["type","entityType"],"title":"Acquired company"},"NewInvestor":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"new_investor"},"entityType":{"type":"string","const":"company"},"investorNames":{"type":["array","null"],"items":{"type":"string","minLength":1},"minItems":1,"description":"Only alert when a new investor's name matches one of these (exact, case-insensitive). Omit for any new investor."}},"required":["type","entityType"],"title":"New investor"},"JoinedAccelerator":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"joined_accelerator"},"entityType":{"type":"string","const":"company"},"acceleratorNames":{"type":["array","null"],"items":{"type":"string","enum":["a16z_speedrun","accel_atoms","ai2_incubator","alchemist_accelerator","alliance","antler","berkeley_skydeck","founders_inc","google_startups","launch_accelerator","neo","pear_x","plug_and_play","sosv","south_park_commons","startx","techstars","the_mint","ycombinator"]},"minItems":1,"description":"Only alert when the company joins one of these accelerators. Omit for any accelerator. There is no batch selection: companies always join the latest batch."}},"required":["type","entityType"],"title":"Joined an accelerator"},"RecentlyHiredWithTitle":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"recently_hired_with_title"},"entityType":{"type":"string","const":"company"},"titleKeywords":{"type":"array","items":{"type":"string","minLength":1},"minItems":1,"description":"Title keywords to search for. Fires when the company hires someone whose title matches any keyword."},"minNewHires":{"type":["integer","null"],"exclusiveMinimum":0,"description":"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."}},"required":["type","entityType","titleKeywords"],"title":"Recently hired with title"},"DepartmentSizeThreshold":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"department_size_threshold"},"entityType":{"type":"string","const":"company"},"department":{"type":"string","enum":["Accounting","Administrative","Advertising","Analyst","Art / Creative","Business Development","Consulting","Customer Service","Design","Distribution","Education","Engineering","Finance","General Business","Health Care Provider","Human Resources","Information Technology","Legal","Management","Manufacturing","Marketing","Product Management","Production","Project Management","Public Relations","Purchasing","Quality Assurance","Research","Sales","Science","Strategy / Planning","Supply Chain","Training","Writing / Editing","Community & Social Services","Entrepreneurship","Military & Protective Services","Other","Program & Product Management","Real Estate"],"description":"Department to track. Matched against the company's organizational structure."},"threshold":{"type":"integer","exclusiveMinimum":0,"description":"The employee count threshold to watch for crossing"},"direction":{"type":"string","enum":["above","below"],"description":"Whether to alert when department size crosses above or below the threshold"}},"required":["type","entityType","department","threshold","direction"],"title":"Department size threshold"},"RecentLayoffs":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"recent_layoffs"},"entityType":{"type":"string","const":"company"},"minPeopleAffected":{"type":["integer","null"],"exclusiveMinimum":0,"description":"Only alert if at least this many people were laid off. Omit for any layoff."},"minPercentAffected":{"type":["number","null"],"exclusiveMinimum":0,"maximum":100,"description":"Only alert if at least this percentage of the workforce was laid off. Omit for any layoff."}},"required":["type","entityType"],"title":"Recent layoffs"},"HeadcountCrossedThresholdResponse":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"headcount_crossed_threshold"},"entityType":{"type":"string","const":"company"},"direction":{"type":"string","enum":["above","below"],"description":"Whether to alert when headcount crosses the threshold going up or down"},"threshold":{"type":"integer","exclusiveMinimum":0,"description":"The employee count threshold to watch for crossing. Any positive integer is accepted."},"id":{"type":"string","description":"Unique rule ID. Use with removeRuleIds to delete a specific rule."}},"required":["isDummy","type","entityType","direction","threshold","id"],"title":"Headcount crossed threshold"},"HeadcountGrowthPercentResponse":{"type":"object","properties":{"lookbackDays":{"type":["integer","null"],"minimum":1,"maximum":90,"description":"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":{"type":"boolean","description":"When true, this rule only fires via the fire-dummy endpoint and is skipped during normal pipeline runs."},"type":{"type":"string","const":"headcount_growth_percent"},"entityType":{"type":"string","const":"company"},"minPercentChange":{"type":"number","exclusiveMinimum":0,"maximum":1000,"description":"Minimum percent change to trigger (e.g. 20 means 20% growth)"},"direction":{"type":"string","enum":["grew","shrank","either"],"description":"Whether to alert on

# --- truncated at 32 KB (8241 KB total) ---
# Full source: https://artifacts.apis.io/fiber-ai/openapi/_original/fiber-ai-api-openapi.json