Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.
New hire monitoring requires a V2 workspace API key. Legacy V1 API keys are not supported by these endpoints. Monitors and their credits belong to the V2 workspace associated with the key.
Create an active monitor with Bearer authentication. A monitor watches either a list of companies (audience: "companies") or the whole market (audience: "market") for people who recently started a role matching your filters. Each new hire is written to the monitor’s results table and, when configured, posted to your webhook. Each successful request creates a new monitor, and creation has no idempotency key. If a network failure leaves the result unknown, list your monitors and reconcile before retrying; a blind retry creates a second monitor that reports and charges separately.
The frequency can be daily, weekly, every_30_days, or every_90_days (default weekly). If you provide webhook_url, store the returned signing_secret immediately; it is encrypted at rest and returned only once. If you lose it, rotate it on the existing monitor instead of creating a new one.
Company list. Send companies: 1 to 10,000 { "linkedin_url": ... } LinkedIn company URLs, with a slug or a numeric company ID. URLs are canonicalized to https://www.linkedin.com/company/<identifier>, and two entries for the same company are rejected. audience defaults to companies when companies is sent. An empty job_titles list on a company list means every role. The market filters industries, company_size, company_location, and person_location are rejected on a company list.
Market. Omit companies (or send audience: "market") and send at least one job_titles entry. You can narrow it with industries (up to 300), company_size (1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+), company_location (a place name such as France), and person_location (such as Paris).
Both audiences accept job_titles and excluded_job_titles (up to 100 each), title_match (strict matches the titles you list; loose also matches related titles in the same function), seniorities (individual_contributor, manager, director, executive; empty means all), and hire_types (external for people who joined from another company, internal for people who moved into the role inside the company; default both). Unknown fields are rejected with 422 invalid_monitor.
Filters are set at creation and cannot be edited.PATCH accepts only the name, frequency, pause or resume, and the webhook. To change titles, seniorities, hire types, or market filters, create a new monitor.
Checks run asynchronously. The 201 Created response contains monitor, companies, signing_secret, and signing_secret_warning; save monitor.id. The first completed check records a baseline: people already in a matching role are not reported. Later checks report people whose matching role started after the baseline. baseline_completed_at is null until the baseline exists.When checks cannot progress, run_block_reason explains why, for example unresolved_companies (a company URL could not be found; the monitor is paused), audience_needs_review (the filters match too many people; the monitor is paused, so create a narrower monitor or resume to retry), unsupported_location, or a temporary account_pool_unavailable.
Each reported new hire costs 1 credit, charged when it is written to the results table. Nothing is charged at creation, for empty checks, for webhook deliveries or redeliveries, or for marking events read. When the workspace has no credits, new hires wait undelivered (results_status: "blocked", results_error: "insufficient_credits") and are delivered and charged after a top-up.
Each monitor owns a regular Airscale results table named <name> — New hires. The monitor reports results_table_id, results_status (ready, pending, or blocked) and results_error (for example insufficient_credits, results_table_deleted, table_row_limit_reached, results_columns_missing, or a temporary credit_settlement_busy or table_mutation_locked). Deleting the monitor keeps its results table.
The complete JSON request body must be at most 8 MiB (8,388,608 bytes); a larger body returns 413. A missing or malformed body returns 400 with {"error": "Invalid JSON"}.
webhook_url must be a public HTTPS URL without embedded credentials. Other protocols, internal hostnames, and private or reserved addresses are rejected with 422 invalid_monitor before the monitor is created.
Airscale sends each new hire as a JSON POST to webhook_url, within about a minute of delivery to the results table. The body has "type": "new_hire.detected" plus the same fields as an event from List new hire events without read_at or webhook: id, monitor_id, detected_at, hire_type, person, title, start_date, company, previous_title, and previous_company_name.For example, "start_date": "2026-10" is the reported start month, company.linkedin_url is built from the numeric linkedin_company_id, and any unknown field is null.The request includes X-Airscale-Event: new_hire.detected, X-Airscale-Event-Id: <event_id>, X-Airscale-Timestamp, X-Airscale-Signature: sha256=<hex>, and Idempotency-Key: new-hire-event:<event_id>. Compute HMAC-SHA256 with the signing_secret over <timestamp>.<raw request body>, compare it in constant time, and reject timestamps more than five minutes from the current time. This is the same scheme as job-change monitor webhooks. Deduplicate on the event ID and return a 2xx response only after durable handling.Airscale makes up to five attempts with exponential backoff. 408, 425, 429, and 5xx responses are retried; other responses fail permanently (webhook_http_<status>), and timeouts or dropped connections are marked uncertain because the request may have been received. Use Redeliver a webhook to send a failed or uncertain event again.
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
application/json
Choose a name, a frequency, an audience with its filters, and an optional webhook in a JSON body of at most 8 MiB (8,388,608 bytes). Unknown fields are rejected.
companies watches the listed companies; market watches every company that matches the market filters. Defaults to companies when companies is sent, otherwise market.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Airschool","description":"Airscale product guides, integration workflows, MCP documentation, and public API reference.","colors":{"primary":"#4079FF","light":"#4079FF","dark":"#6F9BFF"},"logo":{"light":"https://mintcdn.com/airscale/T4fnFCkEZYFIfzlE/logo/light.svg?fit=max\u0026auto=format\u0026n=T4fnFCkEZYFIfzlE\u0026q=85\u0026s=77cac19c9833b1b4b3e8cc1a21fe7c04","dark":"https://mintcdn.com/airscale/T4fnFCkEZYFIfzlE/logo/dark.svg?fit=max\u0026auto=format\u0026n=T4fnFCkEZYFIfzlE\u0026q=85\u0026s=3fae4b34efca46e05ac0dcb7d1febe81","href":"/"},"favicon":"https://mintcdn.com/airscale/6bM8EcCHTBu_Tci4/favicon.svg?fit=max\u0026auto=format\u0026n=6bM8EcCHTBu_Tci4\u0026q=85\u0026s=0f5e216ce2f6809f53f85f184935b9d6","api":{"openapi":"openapi.json","playground":{"display":"simple"},"examples":{"defaults":"required","languages":["curl","node","python"],"prefill":true,"autogenerate":true}},"appearance":{"default":"light"},"navbar":{"links":[{"href":"https://airscale.io/","label":"Back to website"}],"primary":{"type":"button","label":"Open Dashboard","href":"https://app.airscale.io/dashboard"}},"search":{"prompt":"Search Airschool..."},"seo":{"metatags":{"robots":"index, follow","canonical":"https://docs.airscale.io"},"indexing":"navigable"},"fonts":{"family":"Poppins"},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"airscale","hasAudioNarration":false,"actualSubdomain":"airscale","customDomains":["docs.airscale.io"],"gitSource":{"type":"github","owner":"vicescale","repo":"airscale-docs","deployBranch":"docs/production-release-20260923","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae8a846e4f1cb0cd68aed46","collectionId":"f4c5d82b-bf97-4f6b-a1be-e3717a2a85a2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8a846e4f1cb0cd68aed46"},"entitlements":{},"buildId":"6ae8aa5dca78e468455a17a8","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"Documentation","count":48},{"language":"default","tag":"Intent signals","count":31},{"language":"default","tag":"Enrichments","count":26},{"language":"default","tag":"Post engagements","count":11},{"language":"default","tag":"Miscellaneous","count":10},{"language":"default","tag":"Job changes","count":10},{"language":"default","tag":"New hires","count":10},{"language":"default","tag":"Build lists","count":10},{"language":"default","tag":"Getting started","count":8}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"#navbar img.nav-logo:is([alt=\"light logo\"], [alt=\"dark logo\"]){height:38px!important}#navbar a[href=\"https://app.airscale.io/dashboard\"]{background-color:#111827!important;border-color:#111827!important;border-radius:10px!important;color:#fff!important}#navbar a[href=\"https://app.airscale.io/dashboard\"]:hover{background-color:#000!important;border-color:#000!important}#navbar a[href=\"https://app.airscale.io/dashboard\"] :is(span, svg){color:inherit!important}#navbar a[href=\"https://app.airscale.io/dashboard\"]>span.absolute.inset-0{background-color:inherit!important;border-radius:10px!important}html.dark #navbar a[href=\"https://app.airscale.io/dashboard\"]{background-color:#fff!important;border-color:#fff!important;color:#111827!important}html.dark #navbar a[href=\"https://app.airscale.io/dashboard\"]:hover{background-color:#e5e7eb!important;border-color:#e5e7eb!important}#sidebar button.sidebar-group-header[data-airscale-collapsible=true]{appearance:none;background:0 0;border:0;cursor:pointer;text-align:left;width:100%}#sidebar button.sidebar-group-header[data-airscale-collapsible=true]::after{content:\"›\";font-size:1.25rem;line-height:1;margin-left:auto;transition:transform 150ms ease}#sidebar button.sidebar-group-header[data-airscale-collapsible=true][aria-expanded=true]::after{transform:rotate(90deg)}"},{"filePath":"airschool.css","content":".airschool{--school-text:#121419;--school-muted:#697289;--school-border:#e2e7ee;--school-surface:#fff;--school-subtle:#f9fafb;color:var(--school-text);background:var(--school-surface) url(/images/airschool/grid.svg) center top/cover;padding:80px 0;font-family:Poppins,sans-serif}.airschool *{box-sizing:border-box}.airschool :is(h1, h2, h3, p){margin:0}.airschool a{color:inherit;text-decoration:none}.airschool a.link{border-bottom-color:var(--school-border)!important}.airschool a.link:hover{border-bottom-color:#aab6cb!important}.airschool-content{width:100%;max-width:1200px;margin:0 auto;padding:0 32px;display:grid;gap:80px}.airschool-hero{display:grid;justify-items:center;gap:40px;text-align:center}.airschool-intro,.airschool-search-area{max-width:768px;display:grid;justify-items:center;gap:20px}.airschool .airschool-badge{border:1px solid var(--school-border);border-radius:99px;padding:9px 16px;background:var(--school-surface);font-size:12px;line-height:16px;font-weight:500}.airschool h1{font-size:48px;line-height:56px;font-weight:600;letter-spacing:-1.8px}.airschool .airschool-description{max-width:600px;font-size:16px;line-height:28px;color:#333842}.airschool-search-area{width:100%;max-width:680px;gap:24px}.airschool-search{width:100%;max-width:550px;min-height:56px;padding:12px 16px;display:flex;align-items:center;gap:12px;border:1px solid var(--school-border);border-radius:16px;background:var(--school-surface);color:var(--school-muted);text-align:left;font:inherit;font-size:14px;cursor:pointer;box-shadow:0 3px 8px -5px #0003}.airschool-search>svg,.airschool-support-card>.airschool-link{flex:none}.airschool-shortcut-keys{margin-left:auto;display:flex;gap:4px}.airschool kbd,.airschool-shortcuts a{background:var(--school-subtle);border:1px solid var(--school-border);border-radius:8px}.airschool kbd{display:grid;place-items:center;width:28px;height:28px;font:inherit;font-size:12px}.airschool-shortcuts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;font-size:12px;line-height:18px;color:var(--school-muted)}.airschool-shortcuts a{padding:5px 10px;font-weight:500}.airschool-section{display:grid;gap:32px}.airschool h2,.airschool h3{font-size:20px;line-height:28px;font-weight:400;letter-spacing:-.5px}.airschool-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.airschool-card{display:flex;flex-direction:column;gap:20px;padding:12px;border:1px solid var(--school-border);border-radius:36px;background:var(--school-surface);transition:border-color 150ms ease,box-shadow 150ms ease}.airschool-card img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:24px;margin:0}.airschool-card-content{flex:1;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:0 16px 16px}.airschool h3{font-size:16px;line-height:24px;letter-spacing:-.4px}.airschool-card p,.airschool-support-card p{margin-top:6px;font-size:12px;line-height:18px;color:var(--school-muted)}.airschool-link{font-size:14px;line-height:20px;color:var(--school-muted);font-weight:500}.airschool-link>span{display:inline-block;margin-left:3px}.airschool-support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.airschool-support-card{display:flex;align-items:center;gap:20px;padding:28px;border:1px solid var(--school-border);border-radius:32px;background:var(--school-surface);transition:border-color 150ms ease,box-shadow 150ms ease}.airschool-support-icon{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:50%;background:var(--school-subtle);color:var(--school-muted)}.airschool-support-copy{flex:1}.airschool :is(.airschool-card, .airschool-support-card, .airschool-search, .airschool-shortcuts a):hover{border-color:#aab6cb;box-shadow:0 4px 16px -10px #33415555}.airschool :is(a, button):focus-visible{outline:3px solid #4079ff;outline-offset:4px}html.dark .airschool{--school-text:#f4f5f7;--school-muted:#aeb7c8;--school-border:#303640;--school-surface:#111316;--school-subtle:#1b1e24;background-image:none}html.dark .airschool .airschool-description{color:#c4cbd6}html.dark .airschool-card img{filter:brightness(.88)}@media (max-width:1000px){.airschool-support-card{flex-wrap:wrap;gap:16px;padding:24px}.airschool-support-card>.airschool-link{width:100%;padding-left:66px}}@media (max-width:700px){.airschool{padding:48px 0}.airschool-content{padding:0 20px;gap:48px}.airschool h1{font-size:36px;line-height:44px;letter-spacing:-1.2px}.airschool .airschool-description{font-size:15px;line-height:26px}.airschool-hero{gap:28px}.airschool-categories,.airschool-support-grid{grid-template-columns:minmax(0,1fr)}.airschool-section{gap:24px}.airschool-shortcut-keys{display:none}.airschool-shortcuts>span{width:100%}.airschool-card{border-radius:28px}.airschool-card-content{padding:0 12px 12px}}@media (prefers-reduced-motion:reduce){.airschool :is(.airschool-card, .airschool-support-card){transition:none}}"}],"page":{"pagePath":"api-reference/new-hire-monitors/create","slug":"/api-reference/new-hire-monitors/create","pageMetadata":{"title":"Create a new hire monitor","description":"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.","canonical":"https://docs.airscale.io/api-reference/new-hire-monitors/create","openapi":"openapi.json POST /v1/new-hire-monitors","href":"/api-reference/new-hire-monitors/create"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.p,{children:[`New hire monitoring requires a `,_jsx(_components.strong,{children:`V2 workspace API key`}),`. Legacy V1 API keys are not supported by these endpoints. Monitors and their credits belong to the V2 workspace associated with the key.`]})}),`\n`,_jsxs(_components.p,{children:[`Create an active monitor with `,_jsx(_components.a,{href:`/api-reference/authentication`,children:`Bearer authentication`}),`. A monitor watches either a list of companies (`,_jsx(_components.code,{children:`audience: \"companies\"`}),`) or the whole market (`,_jsx(_components.code,{children:`audience: \"market\"`}),`) for people who recently started a role matching your filters. Each new hire is written to the monitor’s results table and, when configured, posted to your webhook. Each successful request creates a new monitor, and creation has no idempotency key. If a network failure leaves the result unknown, `,_jsx(_components.a,{href:`/api-reference/new-hire-monitors/list`,children:`list your monitors`}),` and reconcile before retrying; a blind retry creates a second monitor that reports and charges separately.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`frequency`}),` can be `,_jsx(_components.code,{children:`daily`}),`, `,_jsx(_components.code,{children:`weekly`}),`, `,_jsx(_components.code,{children:`every_30_days`}),`, or `,_jsx(_components.code,{children:`every_90_days`}),` (default `,_jsx(_components.code,{children:`weekly`}),`). If you provide `,_jsx(_components.code,{children:`webhook_url`}),`, store the returned `,_jsx(_components.code,{children:`signing_secret`}),` immediately; it is encrypted at rest and returned only once. If you lose it, `,_jsx(_components.a,{href:`/api-reference/new-hire-monitors/update`,children:`rotate it`}),` on the existing monitor instead of creating a new one.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`choose-an-audience`,children:`Choose an audience`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Company list.`}),` Send `,_jsx(_components.code,{children:`companies`}),`: 1 to 10,000 `,_jsx(_components.code,{children:`{ \"linkedin_url\": ... }`}),` LinkedIn company URLs, with a slug or a numeric company ID. URLs are canonicalized to `,_jsx(_components.code,{children:`https://www.linkedin.com/company/\u003cidentifier>`}),`, and two entries for the same company are rejected. `,_jsx(_components.code,{children:`audience`}),` defaults to `,_jsx(_components.code,{children:`companies`}),` when `,_jsx(_components.code,{children:`companies`}),` is sent. An empty `,_jsx(_components.code,{children:`job_titles`}),` list on a company list means every role. The market filters `,_jsx(_components.code,{children:`industries`}),`, `,_jsx(_components.code,{children:`company_size`}),`, `,_jsx(_components.code,{children:`company_location`}),`, and `,_jsx(_components.code,{children:`person_location`}),` are rejected on a company list.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Market.`}),` Omit `,_jsx(_components.code,{children:`companies`}),` (or send `,_jsx(_components.code,{children:`audience: \"market\"`}),`) and send at least one `,_jsx(_components.code,{children:`job_titles`}),` entry. You can narrow it with `,_jsx(_components.code,{children:`industries`}),` (up to 300), `,_jsx(_components.code,{children:`company_size`}),` (`,_jsx(_components.code,{children:`1-10`}),`, `,_jsx(_components.code,{children:`11-50`}),`, `,_jsx(_components.code,{children:`51-200`}),`, `,_jsx(_components.code,{children:`201-500`}),`, `,_jsx(_components.code,{children:`501-1000`}),`, `,_jsx(_components.code,{children:`1001-5000`}),`, `,_jsx(_components.code,{children:`5001-10000`}),`, `,_jsx(_components.code,{children:`10001+`}),`), `,_jsx(_components.code,{children:`company_location`}),` (a place name such as `,_jsx(_components.code,{children:`France`}),`), and `,_jsx(_components.code,{children:`person_location`}),` (such as `,_jsx(_components.code,{children:`Paris`}),`).`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Both audiences accept `,_jsx(_components.code,{children:`job_titles`}),` and `,_jsx(_components.code,{children:`excluded_job_titles`}),` (up to 100 each), `,_jsx(_components.code,{children:`title_match`}),` (`,_jsx(_components.code,{children:`strict`}),` matches the titles you list; `,_jsx(_components.code,{children:`loose`}),` also matches related titles in the same function), `,_jsx(_components.code,{children:`seniorities`}),` (`,_jsx(_components.code,{children:`individual_contributor`}),`, `,_jsx(_components.code,{children:`manager`}),`, `,_jsx(_components.code,{children:`director`}),`, `,_jsx(_components.code,{children:`executive`}),`; empty means all), and `,_jsx(_components.code,{children:`hire_types`}),` (`,_jsx(_components.code,{children:`external`}),` for people who joined from another company, `,_jsx(_components.code,{children:`internal`}),` for people who moved into the role inside the company; default both). Unknown fields are rejected with `,_jsx(_components.code,{children:`422 invalid_monitor`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Filters are set at creation and cannot be edited.`}),` `,_jsx(_components.code,{children:`PATCH`}),` accepts only the name, frequency, pause or resume, and the webhook. To change titles, seniorities, hire types, or market filters, create a new monitor.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-monitoring-works`,children:`How monitoring works`}),`\n`,_jsxs(_components.p,{children:[`Checks run asynchronously. The `,_jsx(_components.code,{children:`201 Created`}),` response contains `,_jsx(_components.code,{children:`monitor`}),`, `,_jsx(_components.code,{children:`companies`}),`, `,_jsx(_components.code,{children:`signing_secret`}),`, and `,_jsx(_components.code,{children:`signing_secret_warning`}),`; save `,_jsx(_components.code,{children:`monitor.id`}),`. The first completed check records a `,_jsx(_components.strong,{children:`baseline`}),`: people already in a matching role are not reported. Later checks report people whose matching role started after the baseline. `,_jsx(_components.code,{children:`baseline_completed_at`}),` is `,_jsx(_components.code,{children:`null`}),` until the baseline exists.`]}),`\n`,_jsxs(_components.p,{children:[`When checks cannot progress, `,_jsx(_components.code,{children:`run_block_reason`}),` explains why, for example `,_jsx(_components.code,{children:`unresolved_companies`}),` (a company URL could not be found; the monitor is paused), `,_jsx(_components.code,{children:`audience_needs_review`}),` (the filters match too many people; the monitor is paused, so create a narrower monitor or resume to retry), `,_jsx(_components.code,{children:`unsupported_location`}),`, or a temporary `,_jsx(_components.code,{children:`account_pool_unavailable`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`credits`,children:`Credits`}),`\n`,_jsxs(_components.p,{children:[`Each reported new hire costs `,_jsx(_components.strong,{children:`1 credit`}),`, charged when it is written to the results table. Nothing is charged at creation, for empty checks, for webhook deliveries or redeliveries, or for marking events read. When the workspace has no credits, new hires wait undelivered (`,_jsx(_components.code,{children:`results_status: \"blocked\"`}),`, `,_jsx(_components.code,{children:`results_error: \"insufficient_credits\"`}),`) and are delivered and charged after a top-up.`]}),`\n`,_jsx(Heading,{level:`2`,id:`results-table`,children:`Results table`}),`\n`,_jsxs(_components.p,{children:[`Each monitor owns a regular Airscale results table named `,_jsx(_components.code,{children:`\u003cname> — New hires`}),`. The monitor reports `,_jsx(_components.code,{children:`results_table_id`}),`, `,_jsx(_components.code,{children:`results_status`}),` (`,_jsx(_components.code,{children:`ready`}),`, `,_jsx(_components.code,{children:`pending`}),`, or `,_jsx(_components.code,{children:`blocked`}),`) and `,_jsx(_components.code,{children:`results_error`}),` (for example `,_jsx(_components.code,{children:`insufficient_credits`}),`, `,_jsx(_components.code,{children:`results_table_deleted`}),`, `,_jsx(_components.code,{children:`table_row_limit_reached`}),`, `,_jsx(_components.code,{children:`results_columns_missing`}),`, or a temporary `,_jsx(_components.code,{children:`credit_settlement_busy`}),` or `,_jsx(_components.code,{children:`table_mutation_locked`}),`). Deleting the monitor keeps its results table.`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-size`,children:`Request size`}),`\n`,_jsxs(_components.p,{children:[`The complete JSON request body must be at most `,_jsx(_components.strong,{children:`8 MiB (8,388,608 bytes)`}),`; a larger body returns `,_jsx(_components.code,{children:`413`}),`. A missing or malformed body returns `,_jsx(_components.code,{children:`400`}),` with `,_jsx(_components.code,{children:`{\"error\": \"Invalid JSON\"}`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`webhook-url-rules`,children:`Webhook URL rules`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`webhook_url`}),` must be a public HTTPS URL without embedded credentials. Other protocols, internal hostnames, and private or reserved addresses are rejected with `,_jsx(_components.code,{children:`422 invalid_monitor`}),` before the monitor is created.`]}),`\n`,_jsx(Heading,{level:`2`,id:`verify-webhook-signatures`,children:`Verify webhook signatures`}),`\n`,_jsxs(_components.p,{children:[`Airscale sends each new hire as a JSON `,_jsx(_components.code,{children:`POST`}),` to `,_jsx(_components.code,{children:`webhook_url`}),`, within about a minute of delivery to the results table. The body has `,_jsx(_components.code,{children:`\"type\": \"new_hire.detected\"`}),` plus the same fields as an event from `,_jsx(_components.a,{href:`/api-reference/new-hire-monitors/events`,children:`List new hire events`}),` without `,_jsx(_components.code,{children:`read_at`}),` or `,_jsx(_components.code,{children:`webhook`}),`: `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`monitor_id`}),`, `,_jsx(_components.code,{children:`detected_at`}),`, `,_jsx(_components.code,{children:`hire_type`}),`, `,_jsx(_components.code,{children:`person`}),`, `,_jsx(_components.code,{children:`title`}),`, `,_jsx(_components.code,{children:`start_date`}),`, `,_jsx(_components.code,{children:`company`}),`, `,_jsx(_components.code,{children:`previous_title`}),`, and `,_jsx(_components.code,{children:`previous_company_name`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`For example, `,_jsx(_components.code,{children:`\"start_date\": \"2026-10\"`}),` is the reported start month, `,_jsx(_components.code,{children:`company.linkedin_url`}),` is built from the numeric `,_jsx(_components.code,{children:`linkedin_company_id`}),`, and any unknown field is `,_jsx(_components.code,{children:`null`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The request includes `,_jsx(_components.code,{children:`X-Airscale-Event: new_hire.detected`}),`, `,_jsx(_components.code,{children:`X-Airscale-Event-Id: \u003cevent_id>`}),`, `,_jsx(_components.code,{children:`X-Airscale-Timestamp`}),`, `,_jsx(_components.code,{children:`X-Airscale-Signature: sha256=\u003chex>`}),`, and `,_jsx(_components.code,{children:`Idempotency-Key: new-hire-event:\u003cevent_id>`}),`. Compute HMAC-SHA256 with the `,_jsx(_components.code,{children:`signing_secret`}),` over `,_jsx(_components.code,{children:`\u003ctimestamp>.\u003craw request body>`}),`, compare it in constant time, and reject timestamps more than five minutes from the current time. This is the same scheme as job-change monitor webhooks. Deduplicate on the event ID and return a 2xx response only after durable handling.`]}),`\n`,_jsxs(_components.p,{children:[`Airscale makes up to five attempts with exponential backoff. `,_jsx(_components.code,{children:`408`}),`, `,_jsx(_components.code,{children:`425`}),`, `,_jsx(_components.code,{children:`429`}),`, and `,_jsx(_components.code,{children:`5xx`}),` responses are retried; other responses fail permanently (`,_jsx(_components.code,{children:`webhook_http_\u003cstatus>`}),`), and timeouts or dropped connections are marked `,_jsx(_components.code,{children:`uncertain`}),` because the request may have been received. Use `,_jsx(_components.a,{href:`/api-reference/new-hire-monitors/events/redeliver`,children:`Redeliver a webhook`}),` to send a failed or uncertain event again.`]}),`\n`,_jsx(Heading,{level:`2`,id:`next-step`,children:`Next step`}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.a,{href:`/api-reference/new-hire-monitors/get`,children:`Get a new hire monitor`}),` to follow company resolution and the baseline.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Create a new hire monitor","description":"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.","canonical":"https://docs.airscale.io/api-reference/new-hire-monitors/create","openapi":"openapi.json POST /v1/new-hire-monitors","href":"/api-reference/new-hire-monitors/create"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Choose an audience","slug":"choose-an-audience","depth":2,"children":[]},{"title":"How monitoring works","slug":"how-monitoring-works","depth":2,"children":[]},{"title":"Credits","slug":"credits","depth":2,"children":[]},{"title":"Results table","slug":"results-table","depth":2,"children":[]},{"title":"Request size","slug":"request-size","depth":2,"children":[]},{"title":"Webhook URL rules","slug":"webhook-url-rules","depth":2,"children":[]},{"title":"Verify webhook signatures","slug":"verify-webhook-signatures","depth":2,"children":[]},{"title":"Next step","slug":"next-step","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/airscale/9fa3b93ce50bf4a8/custom.js"],"openApiReferenceData":{"operation":{"operationId":"createNewHireMonitor","tags":["New hire monitoring"],"summary":"Create a new hire monitor","description":"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.","x-airscale-rate-limit":"120 requests per fixed minute per API key, shared by all new hire monitor endpoints.","x-airscale-credit-cost":"1 credit per new hire written to the results table. Creation, empty checks, webhook deliveries, redeliveries and marking events read are free.","requestBody":"c039dae0-9e9f-4f4f-b886-ca7bcffe9253","responses":{"201":"8d9b967e-10ff-47f8-89ac-1be12e78a0c1","400":"27822c66-23af-46aa-919a-a5e15c4dbffe","401":"fd4a0be3-81f4-4b26-9e92-f07caa696265","413":"db661e95-7513-4962-988d-96a34e74991c","422":"7ea8a422-0620-48c9-a3f9-c304fb6f910b","429":"e614c314-3d67-4b73-b527-97fcbe6366bc","503":"00ab1ad6-5fc3-49ba-a40e-2e2f093fecd8"},"method":"post","type":"path","servers":["b1097e1d-089e-45f3-97ef-ba0b9b6a9962"],"security":["18c92dab-d143-4697-9c89-a2c4c51573a4"],"path":"/v1/new-hire-monitors","baseUrlOptions":["https://api.airscale.io"],"title":"Create a new hire monitor","codeSamples":[],"requestExampleLanguages":["bash","node","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.name":"Target accounts","body.frequency":"weekly","body.companies.items.0.linkedin_url":"https://www.linkedin.com/company/example-company","body.companies.items.1.linkedin_url":"https://www.linkedin.com/company/example-company-2","body.job_titles.items.0":"VP Sales","body.job_titles.items.1":"Head of Sales","body.hire_types.items.0":"external","body.webhook_url.oneOf.0":"https://hooks.example.com/airscale/new-hires"},{"body.name":"French sales leaders","body.frequency":"every_30_days","body.audience":"market","body.job_titles.items.0":"VP Sales","body.title_match":"loose","body.seniorities.items.0":"director","body.seniorities.items.1":"executive","body.industries.items.0":"Software Development","body.company_size.oneOf.0":"51-200","body.company_location.oneOf.0":"France"}]},"dependencies":{"parameters":{},"requestBody":{"required":true,"description":"Choose a name, a frequency, an audience with its filters, and an optional webhook in a JSON body of at most 8 MiB (8,388,608 bytes). Unknown fields are rejected.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string","minLength":1,"maxLength":120,"description":"Also names the results table: `\u003cname> — New hires`.","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"frequency":{"type":"string","enum":["daily","weekly","every_30_days","every_90_days"],"default":"weekly","uniqueKey":"frequency","typeLabel":"enum\u003cstring>"},"audience":{"type":"string","enum":["companies","market"],"description":"companies watches the listed companies; market watches every company that matches the market filters. Defaults to companies when companies is sent, otherwise market.","uniqueKey":"audience","typeLabel":"enum\u003cstring>"},"companies":{"type":"array","minItems":1,"maxItems":10000,"items":{"type":"object","additionalProperties":false,"required":["linkedin_url"],"properties":{"linkedin_url":{"type":"string","minLength":1,"maxLength":500,"description":"A LinkedIn company URL with a slug or numeric company ID, such as https://www.linkedin.com/company/example-company. Airscale canonicalizes it to https://www.linkedin.com/company/{identifier}.","isRequired":true,"uniqueKey":"companies.items.[INDEX].linkedin_url","typeLabel":"string"}},"uniqueKey":"companies.items.[INDEX]","typeLabel":"object"},"description":"companies audience only, and required for it: 1–10,000 LinkedIn company URLs. Two entries for the same company are rejected.","uniqueKey":"companies","typeLabel":"object[]"},"job_titles":{"type":"array","maxItems":100,"items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"job_titles.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Up to 100 titles. Required for the market audience. Empty on a company list means every role.","uniqueKey":"job_titles","typeLabel":"string[]"},"excluded_job_titles":{"type":"array","maxItems":100,"items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"excluded_job_titles.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Up to 100 titles to leave out.","uniqueKey":"excluded_job_titles","typeLabel":"string[]"},"title_match":{"type":"string","enum":["strict","loose"],"default":"strict","description":"strict matches the titles you list; loose also matches related titles in the same function.","uniqueKey":"title_match","typeLabel":"enum\u003cstring>"},"seniorities":{"type":"array","maxItems":4,"items":{"type":"string","enum":["individual_contributor","manager","director","executive"],"uniqueKey":"seniorities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Leave out or send an empty array for every seniority.","uniqueKey":"seniorities","typeLabel":"enum\u003cstring>[]"},"hire_types":{"type":"array","minItems":1,"maxItems":2,"items":{"type":"string","enum":["external","internal"],"uniqueKey":"hire_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"default":["external","internal"],"description":"external: joined from another company. internal: moved into the role inside the same company.","uniqueKey":"hire_types","typeLabel":"enum\u003cstring>[]"},"industries":{"type":"array","maxItems":300,"items":{"type":"string","minLength":1,"maxLength":200,"uniqueKey":"industries.items.[INDEX]","typeLabel":"string"},"default":[],"description":"market audience only.","uniqueKey":"industries","typeLabel":"string[]"},"company_size":{"oneOf":[{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10001+",null],"description":"market audience only.","uniqueKey":"company_size.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10001+",null],"description":"market audience only.","uniqueKey":"company_size.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_size","typeLabel":"enum\u003cstring> | null"},"company_location":{"oneOf":[{"type":"string","maxLength":150,"description":"market audience only. A place name such as France.","uniqueKey":"company_location.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":150,"description":"market audience only. A place name such as France.","uniqueKey":"company_location.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_location","typeLabel":"string | null"},"person_location":{"oneOf":[{"type":"string","maxLength":150,"description":"market audience only. A place name such as Paris.","uniqueKey":"person_location.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":150,"description":"market audience only. A place name such as Paris.","uniqueKey":"person_location.oneOf.1","typeLabel":"null"}],"uniqueKey":"person_location","typeLabel":"string | null"},"webhook_url":{"oneOf":[{"type":"string","format":"uri","maxLength":2048,"description":"A public HTTPS URL without embedded credentials. Internal hostnames and private or reserved addresses are rejected.","uniqueKey":"webhook_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","maxLength":2048,"description":"A public HTTPS URL without embedded credentials. Internal hostnames and private or reserved addresses are rejected.","uniqueKey":"webhook_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"webhook_url","typeLabel":"string\u003curi> | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"companies":{"title":"companies","value":{"name":"Target accounts","frequency":"weekly","webhook_url":"https://hooks.example.com/airscale/new-hires","companies":[{"linkedin_url":"https://www.linkedin.com/company/example-company"},{"linkedin_url":"https://www.linkedin.com/company/example-company-2"}],"job_titles":["VP Sales","Head of Sales"],"hire_types":["external"]}},"market":{"title":"market","value":{"name":"French sales leaders","audience":"market","frequency":"every_30_days","job_titles":["VP Sales"],"title_match":"loose","seniorities":["director","executive"],"industries":["Software Development"],"company_size":"51-200","company_location":"France"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"8d9b967e-10ff-47f8-89ac-1be12e78a0c1":{"description":"The monitor was created and its first check scheduled. Checks run asynchronously; creation does not mean a check has completed.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["monitor","companies","signing_secret","signing_secret_warning"],"properties":{"monitor":{"type":"object","additionalProperties":false,"required":["id","name","frequency","status","audience","legacy","filters","results_table_id","results_status","results_error","baseline_completed_at","next_check_at","last_successful_check_at","run_block_reason","created_at","updated_at","webhook_url","webhook_configured","company_count","unresolved_company_count","new_hire_count","unread_event_count"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"monitor.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"monitor.name","typeLabel":"string"},"frequency":{"type":"string","enum":["daily","weekly","every_30_days","every_90_days"],"isRequired":true,"uniqueKey":"monitor.frequency","typeLabel":"enum\u003cstring>"},"status":{"type":"string","enum":["active","paused"],"isRequired":true,"uniqueKey":"monitor.status","typeLabel":"enum\u003cstring>"},"audience":{"type":"string","enum":["companies","market"],"isRequired":true,"uniqueKey":"monitor.audience","typeLabel":"enum\u003cstring>"},"legacy":{"type":"boolean","description":"true for monitors created in the app before role filters existed. They have filters: null and can be read, paused, resumed and renamed, but their companies can only be edited in the app.","isRequired":true,"uniqueKey":"monitor.legacy","typeLabel":"boolean"},"filters":{"oneOf":[{"type":"object","description":"The role and market filters set at creation, or null for a legacy monitor. Filters cannot be edited.","required":["job_titles","excluded_job_titles","title_match","seniorities","hire_types","industries","company_size","company_location","person_location"],"properties":{"job_titles":{"type":"array","items":{"type":"string","uniqueKey":"monitor.filters.oneOf.0.job_titles.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.job_titles","typeLabel":"string[]"},"excluded_job_titles":{"type":"array","items":{"type":"string","uniqueKey":"monitor.filters.oneOf.0.excluded_job_titles.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.excluded_job_titles","typeLabel":"string[]"},"title_match":{"type":"string","enum":["strict","loose"],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.title_match","typeLabel":"enum\u003cstring>"},"seniorities":{"type":"array","items":{"type":"string","enum":["individual_contributor","manager","director","executive"],"uniqueKey":"monitor.filters.oneOf.0.seniorities.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Empty means every seniority.","isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.seniorities","typeLabel":"enum\u003cstring>[]"},"hire_types":{"type":"array","items":{"type":"string","enum":["external","internal"],"uniqueKey":"monitor.filters.oneOf.0.hire_types.items.[INDEX]","typeLabel":"enum\u003cstring>"},"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.hire_types","typeLabel":"enum\u003cstring>[]"},"industries":{"type":"array","items":{"type":"string","uniqueKey":"monitor.filters.oneOf.0.industries.items.[INDEX]","typeLabel":"string"},"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.industries","typeLabel":"string[]"},"company_size":{"oneOf":[{"type":"string","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10001+",null],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_size.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["1-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10001+",null],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_size.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_size","typeLabel":"enum\u003cstring> | null"},"company_location":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_location.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_location.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.company_location","typeLabel":"string | null"},"person_location":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.person_location.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.person_location.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0.person_location","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"monitor.filters.oneOf.0","typeLabel":"object"},{"type":"null","description":"The role and market filters set at creation, or null for a legacy monitor. Filters cannot be edited.","isRequired":true,"uniqueKey":"monitor.filters.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.filters","typeLabel":"object | null"},"results_table_id":{"type":"string","description":"The Airscale results table that receives one row per new hire.","isRequired":true,"uniqueKey":"monitor.results_table_id","typeLabel":"string"},"results_status":{"type":"string","enum":["ready","pending","blocked"],"description":"Whether found new hires are delivered to the results table. pending: deliveries are waiting. blocked: see results_error.","isRequired":true,"uniqueKey":"monitor.results_status","typeLabel":"enum\u003cstring>"},"results_error":{"oneOf":[{"type":"string","description":"Why found new hires are not yet delivered, for example insufficient_credits, results_table_deleted, table_row_limit_reached, results_columns_missing, or a temporary credit_settlement_busy or table_mutation_locked.","isRequired":true,"uniqueKey":"monitor.results_error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why found new hires are not yet delivered, for example insufficient_credits, results_table_deleted, table_row_limit_reached, results_columns_missing, or a temporary credit_settlement_busy or table_mutation_locked.","isRequired":true,"uniqueKey":"monitor.results_error.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.results_error","typeLabel":"string | null"},"baseline_completed_at":{"oneOf":[{"type":"string","format":"date-time","description":"When the first completed check recorded the baseline. null until it exists, and again after a company change resets it.","isRequired":true,"uniqueKey":"monitor.baseline_completed_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"When the first completed check recorded the baseline. null until it exists, and again after a company change resets it.","isRequired":true,"uniqueKey":"monitor.baseline_completed_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.baseline_completed_at","typeLabel":"string\u003cdate-time> | null"},"next_check_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"monitor.next_check_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"monitor.next_check_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.next_check_at","typeLabel":"string\u003cdate-time> | null"},"last_successful_check_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"monitor.last_successful_check_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"monitor.last_successful_check_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.last_successful_check_at","typeLabel":"string\u003cdate-time> | null"},"run_block_reason":{"oneOf":[{"type":"string","description":"Why checks are not progressing, for example unresolved_companies, audience_needs_review, unsupported_location, or a temporary account_pool_unavailable.","isRequired":true,"uniqueKey":"monitor.run_block_reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"Why checks are not progressing, for example unresolved_companies, audience_needs_review, unsupported_location, or a temporary account_pool_unavailable.","isRequired":true,"uniqueKey":"monitor.run_block_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.run_block_reason","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"monitor.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"monitor.updated_at","typeLabel":"string\u003cdate-time>"},"webhook_url":{"oneOf":[{"type":"string","format":"uri","isRequired":true,"uniqueKey":"monitor.webhook_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","isRequired":true,"uniqueKey":"monitor.webhook_url.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"monitor.webhook_url","typeLabel":"string\u003curi> | null"},"webhook_configured":{"type":"boolean","isRequired":true,"uniqueKey":"monitor.webhook_configured","typeLabel":"boolean"},"company_count":{"type":"integer","minimum":0,"maximum":10000,"description":"0 for a market monitor.","isRequired":true,"uniqueKey":"monitor.company_count","typeLabel":"integer"},"unresolved_company_count":{"type":"integer","minimum":0,"description":"Companies that are pending or could not be found.","isRequired":true,"uniqueKey":"monitor.unresolved_company_count","typeLabel":"integer"},"new_hire_count":{"type":"integer","minimum":0,"description":"Every delivered new hire, not only the 100-event preview.","isRequired":true,"uniqueKey":"monitor.new_hire_count","typeLabel":"integer"},"unread_event_count":{"type":"integer","minimum":0,"isRequired":true,"uniqueKey":"monitor.unread_event_count","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"monitor","typeLabel":"object"},"companies":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["identifier","linkedin_url","linkedin_company_id","name","status","last_checked_at"],"properties":{"identifier":{"type":"string","description":"The lower-case company slug or numeric company ID from the LinkedIn URL. Use it to remove the company.","isRequired":true,"uniqueKey":"companies.items.[INDEX].identifier","typeLabel":"string"},"linkedin_url":{"type":"string","format":"uri","isRequired":true,"uniqueKey":"companies.items.[INDEX].linkedin_url","typeLabel":"string\u003curi>"},"linkedin_company_id":{"oneOf":[{"type":"string","description":"The numeric LinkedIn company ID once the company is resolved.","isRequired":true,"uniqueKey":"companies.items.[INDEX].linkedin_company_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The numeric LinkedIn company ID once the company is resolved.","isRequired":true,"uniqueKey":"companies.items.[INDEX].linkedin_company_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"companies.items.[INDEX].linkedin_company_id","typeLabel":"string | null"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"companies.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"companies.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"companies.items.[INDEX].name","typeLabel":"string | null"},"status":{"type":"string","enum":["pending","resolved","unresolved"],"isRequired":true,"uniqueKey":"companies.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"last_checked_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"companies.items.[INDEX].last_checked_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"companies.items.[INDEX].last_checked_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"companies.items.[INDEX].last_checked_at","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"companies.items.[INDEX]","typeLabel":"object"},"description":"The monitor's company list, sorted by URL. Empty for a market monitor.","isRequired":true,"uniqueKey":"companies","typeLabel":"object[]"},"signing_secret":{"oneOf":[{"type":"string","description":"Returned once when a webhook is configured; null otherwise.","isRequired":true,"uniqueKey":"signing_secret.oneOf.0","typeLabel":"string"},{"type":"null","description":"Returned once when a webhook is configured; null otherwise.","isRequired":true,"uniqueKey":"signing_secret.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"signing_secret","typeLabel":"string | null"},"signing_secret_warning":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"signing_secret_warning.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"signing_secret_warning.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"signing_secret_warning","typeLabel":"string | null"}},"uniqueKey":"","typeLabel":"object"},"examples":{"success":{"title":"success","value":{"monitor":{"id":"61111111-1111-4111-8111-111111111111","name":"Target accounts","frequency":"weekly","status":"active","audience":"companies","legacy":false,"filters":{"job_titles":["VP Sales","Head of Sales"],"excluded_job_titles":[],"title_match":"strict","seniorities":[],"hire_types":["external"],"industries":[],"company_size":null,"company_location":null,"person_location":null},"results_table_id":"64444444-4444-4444-8444-444444444444","results_status":"ready","results_error":null,"baseline_completed_at":null,"next_check_at":"2026-11-02T10:00:00.000Z","last_successful_check_at":null,"run_block_reason":null,"created_at":"2026-11-02T10:00:00.000Z","updated_at":"2026-11-02T10:00:00.000Z","webhook_url":"https://hooks.example.com/airscale/new-hires","webhook_configured":true,"company_count":2,"unresolved_company_count":0,"new_hire_count":0,"unread_event_count":0},"companies":[{"identifier":"example-company","linkedin_url":"https://www.linkedin.com/company/example-company","linkedin_company_id":null,"name":null,"status":"pending","last_checked_at":null},{"identifier":"example-company-2","linkedin_url":"https://www.linkedin.com/company/example-company-2","linkedin_company_id":null,"name":null,"status":"pending","last_checked_at":null}],"signing_secret":"example-signing-secret","signing_secret_warning":"Store this secret now. It is not returned again."}}},"exampleType":"examples"}},"exampleType":"examples"},"27822c66-23af-46aa-919a-a5e15c4dbffe":{"description":"The request body is missing or is not valid JSON. The public API returns {\"error\":\"Invalid JSON\"}.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"error":{"title":"error","value":{"error":"Invalid JSON"}}},"exampleType":"examples"}},"exampleType":"examples"},"fd4a0be3-81f4-4b26-9e92-f07caa696265":{"description":"A missing Bearer token returns {\"error\":\"Unauthorized\",\"message\":\"Missing or invalid bearer token\"}. An unknown API key returns invalid_api_key.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error","typeLabel":"object"}},"additionalProperties":false,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","properties":{"error":{"type":"string","uniqueKey":"oneOf.1.error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"oneOf.1.message","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"invalidKey":{"title":"invalidKey","value":{"error":{"code":"invalid_api_key","message":"The API key is not valid"}}}},"exampleType":"examples"}},"exampleType":"examples"},"db661e95-7513-4962-988d-96a34e74991c":{"description":"The JSON request body exceeds the 8 MiB (8,388,608 bytes) limit.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"7ea8a422-0620-48c9-a3f9-c304fb6f910b":{"description":"invalid_monitor, for example a missing name, an unknown field, an invalid or duplicate LinkedIn company URL, job_titles missing on a market monitor, a market filter (industries, company_size, company_location, person_location) on a company list, or a webhook_url that is not a public HTTPS destination.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e614c314-3d67-4b73-b527-97fcbe6366bc":{"description":"The API key has exceeded 120 requests in the current minute across new hire monitor endpoints. Wait for the Retry-After seconds before retrying.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"properties":{"error":{"type":"string","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","uniqueKey":"message","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"error":{"title":"error","value":{"error":"Too Many Requests","message":"Rate limit exceeded: 120 requests per minute"}}},"exampleType":"examples"}},"headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"string"},"example":"60"}},"exampleType":"examples"},"00ab1ad6-5fc3-49ba-a40e-2e2f093fecd8":{"description":"monitoring_not_enabled while new hire monitoring is closed, or service_unavailable.","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"18c92dab-d143-4697-9c89-a2c4c51573a4":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Use an Airscale workspace API key. Never expose the key in client-side code.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"b1097e1d-089e-45f3-97ef-ba0b9b6a9962":{"url":"https://api.airscale.io","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"API key","description":"Use an Airscale workspace API key. Never expose the key in client-side code.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Use an Airscale workspace API key. Never expose the key in client-side code.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"airscale","siteName":"Airschool","title":"Create a new hire monitor - Airschool","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-02T15:21:14.819Z","originalFileLocation":"api-reference/new-hire-monitors/create.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Airschool\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Create a new hire monitor - Airschool\">\u003cmeta data-mint-head property=\"og:description\" content=\"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Airschool\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.airscale.io/api-reference/new-hire-monitors/create\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://airscale.mintlify.app/_mintlify/api/og/v2?division=New+hires\u0026amp;title=Create+a+new+hire+monitor\u0026amp;description=Watch+a+list+of+up+to+10%2C000+companies%2C+or+the+whole+market%2C+for+people+who+start+a+role+matching+your+filters%2C+with+one+results+table+and+an+optional+webhook.+\u0026amp;theme=89d1666b77f2d0da24a1804c\u0026amp;signature=4c13137388eef446e7ccd18cc59b8e3dc7df7ab080a06ab9eb2fd857e32d4986\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Create a new hire monitor - Airschool\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://airscale.mintlify.app/_mintlify/api/og/v2?division=New+hires\u0026amp;title=Create+a+new+hire+monitor\u0026amp;description=Watch+a+list+of+up+to+10%2C000+companies%2C+or+the+whole+market%2C+for+people+who+start+a+role+matching+your+filters%2C+with+one+results+table+and+an+optional+webhook.+\u0026amp;theme=89d1666b77f2d0da24a1804c\u0026amp;signature=4c13137388eef446e7ccd18cc59b8e3dc7df7ab080a06ab9eb2fd857e32d4986\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/airscale/iIlUU29U7SNYsr3_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Airschool\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4079FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.airscale.io/api-reference/new-hire-monitors/create\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/new-hire-monitors/create.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.airscale.io/#organization\",\"name\":\"Airschool\",\"url\":\"https://docs.airscale.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/airscale/T4fnFCkEZYFIfzlE/logo/light.svg?fit=max\u0026auto=format\u0026n=T4fnFCkEZYFIfzlE\u0026q=85\u0026s=77cac19c9833b1b4b3e8cc1a21fe7c04\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.airscale.io#website\",\"name\":\"Airschool\",\"url\":\"https://docs.airscale.io\",\"publisher\":{\"@id\":\"https://docs.airscale.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create#webpage\",\"url\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create\",\"name\":\"Create a new hire monitor\",\"description\":\"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\",\"dateModified\":\"2026-11-02T15:21:14.819Z\",\"isPartOf\":{\"@id\":\"https://docs.airscale.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Intent signals\",\"item\":\"https://docs.airscale.io/api-reference/job-change-monitors/create\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Create a new hire monitor\",\"item\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create#apireference\",\"headline\":\"Create a new hire monitor\",\"name\":\"Create a new hire monitor\",\"description\":\"Watch a list of up to 10,000 companies, or the whole market, for people who start a role matching your filters, with one results table and an optional webhook. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.\",\"url\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create\",\"mainEntityOfPage\":{\"@id\":\"https://docs.airscale.io/api-reference/new-hire-monitors/create#webpage\"},\"dateModified\":\"2026-11-02T15:21:14.819Z\",\"publisher\":{\"@id\":\"https://docs.airscale.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.airscale.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Airschool\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Airschool","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Documentation","pages":[{"title":"Documentation","href":"/docs/sales-navigator"}]},{"tab":"API Reference","groups":[{"group":"Start here","pages":[{"title":"API Overview","href":"/api-reference/api-overview"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Rate limits","href":"/api-reference/rate-limits"}]},{"group":"Account","pages":[{"title":"Credit count","openapi":"openapi.json POST /v1/credits","href":"/api-reference/credit-count"}]},{"group":"Search and discovery","pages":[{"title":"Find people","openapi":"openapi.json POST /v1/find-people","href":"/api-reference/find-people"},{"title":"Leads Finder","openapi":"openapi.json POST /v1/leads-finder","href":"/api-reference/leads-finder"},{"title":"Find companies","openapi":"openapi.json POST /v1/find-companies","href":"/api-reference/find-companies"},{"title":"Company filter values","openapi":"openapi.json GET /v1/find-companies/filter-values","href":"/api-reference/find-companies/filter-values"},{"title":"Company lookalikes","openapi":"openapi.json POST /v1/company-lookalikes","href":"/api-reference/company-lookalikes"},{"title":"Airsearch","openapi":"openapi.json POST /v1/airsearch","href":"/api-reference/airsearch"}]},{"group":"Contact data","pages":[{"title":"Email finder","openapi":"openapi.json POST /v1/email","href":"/api-reference/email-finder"},{"title":"Bulk email finder","openapi":"openapi.json POST /v1/email-bulk","href":"/api-reference/email-finder-(bulk)"},{"title":"Mobile finder","openapi":"openapi.json POST /v1/phone","href":"/api-reference/mobile-finder"},{"title":"Personal email","openapi":"openapi.json POST /v1/personal-email","href":"/api-reference/personal-email"},{"title":"People URL finder","openapi":"openapi.json POST /v1/url-search-people","href":"/api-reference/people-url-finder"}]},{"group":"Profiles and reverse lookup","pages":[{"title":"People profile","openapi":"openapi.json POST /v1/profile","href":"/api-reference/extract-people-profile"},{"title":"Company profile","openapi":"openapi.json POST /v1/company","href":"/api-reference/extract-company-profile"},{"title":"Domain to LinkedIn","openapi":"openapi.json POST /v1/domain-to-linkedin","href":"/api-reference/domain-to-linkedin"},{"title":"Reverse email","openapi":"openapi.json POST /v1/reverse-email","href":"/api-reference/reverse-email"},{"title":"Reverse phone","openapi":"openapi.json POST /v1/reverse-phone","href":"/api-reference/reverse-phone"}]},{"group":"Post engagement","expanded":false,"pages":[{"title":"Post likers","openapi":"openapi.json POST /v1/post-likers","href":"/api-reference/post-likers"},{"title":"Post commenters","openapi":"openapi.json POST /v1/post-commenters","href":"/api-reference/post-commenters"},{"title":"Post search","openapi":"openapi.json POST /v1/post-search","href":"/api-reference/post-search"},{"title":"Profile comments","openapi":"openapi.json POST /v1/profile-comments","href":"/api-reference/profile-comments"},{"title":"Comment likers","openapi":"openapi.json POST /v1/comment-likers","href":"/api-reference/comment-likers"},{"title":"Profile posts","openapi":"openapi.json POST /v1/profile-posts","href":"/api-reference/profile-posts"},{"title":"Company posts","openapi":"openapi.json POST /v1/company-posts","href":"/api-reference/company-posts"}]},{"group":"Intent signals","expanded":false,"pages":[{"group":"Job changes","expanded":false,"pages":[{"title":"Create a job-change monitor","openapi":"openapi.json POST /v1/job-change-monitors","href":"/api-reference/job-change-monitors/create"},{"title":"List job-change monitors","openapi":"openapi.json GET /v1/job-change-monitors","href":"/api-reference/job-change-monitors/list"},{"title":"Get a job-change monitor","openapi":"openapi.json GET /v1/job-change-monitors/{monitor_id}","href":"/api-reference/job-change-monitors/get"},{"title":"Update a job-change monitor","openapi":"openapi.json PATCH /v1/job-change-monitors/{monitor_id}","href":"/api-reference/job-change-monitors/update"},{"title":"Delete a job-change monitor","openapi":"openapi.json DELETE /v1/job-change-monitors/{monitor_id}","href":"/api-reference/job-change-monitors/delete"},{"title":"Add profiles to a job-change monitor","openapi":"openapi.json POST /v1/job-change-monitors/{monitor_id}/profiles","href":"/api-reference/job-change-monitors/profiles/add"},{"title":"Remove a profile from a job-change monitor","openapi":"openapi.json DELETE /v1/job-change-monitors/{monitor_id}/profiles/{profile_id}","href":"/api-reference/job-change-monitors/profiles/remove"},{"title":"List job-change events","openapi":"openapi.json GET /v1/job-change-monitors/{monitor_id}/events","href":"/api-reference/job-change-monitors/events"},{"title":"Mark a job-change event as read","openapi":"openapi.json POST /v1/job-change-monitors/{monitor_id}/events/{event_id}/read","href":"/api-reference/job-change-monitors/events/read"},{"title":"Redeliver a job-change webhook","description":"Send one event's webhook again after a failed or unconfirmed delivery. Rate limit: 120 requests per fixed minute per API key, shared by all job-change monitor endpoints.","openapi":"openapi.json POST /v1/job-change-monitors/{monitor_id}/events/{event_id}/webhook/redeliver","href":"/api-reference/job-change-monitors/events/redeliver"}]},{"group":"New hires","expanded":false,"pages":[{"title":"Create a new hire monitor","openapi":"openapi.json POST /v1/new-hire-monitors","href":"/api-reference/new-hire-monitors/create"},{"title":"List new hire monitors","description":"List the new hire monitors in a workspace with their schedule, filters, results table, and company, new hire and unread-event counts. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.","openapi":"openapi.json GET /v1/new-hire-monitors","href":"/api-reference/new-hire-monitors/list"},{"title":"Get a new hire monitor","openapi":"openapi.json GET /v1/new-hire-monitors/{monitor_id}","href":"/api-reference/new-hire-monitors/get"},{"title":"Update a new hire monitor","openapi":"openapi.json PATCH /v1/new-hire-monitors/{monitor_id}","href":"/api-reference/new-hire-monitors/update"},{"title":"Delete a new hire monitor","openapi":"openapi.json DELETE /v1/new-hire-monitors/{monitor_id}","href":"/api-reference/new-hire-monitors/delete"},{"title":"Add companies to a new hire monitor","openapi":"openapi.json POST /v1/new-hire-monitors/{monitor_id}/companies","href":"/api-reference/new-hire-monitors/companies/add"},{"title":"Remove a company from a new hire monitor","openapi":"openapi.json DELETE /v1/new-hire-monitors/{monitor_id}/companies/{identifier}","href":"/api-reference/new-hire-monitors/companies/remove"},{"title":"List new hire events","openapi":"openapi.json GET /v1/new-hire-monitors/{monitor_id}/events","href":"/api-reference/new-hire-monitors/events"},{"title":"Mark a new hire event as read","openapi":"openapi.json POST /v1/new-hire-monitors/{monitor_id}/events/{event_id}/read","href":"/api-reference/new-hire-monitors/events/read"},{"title":"Redeliver a new hire webhook","openapi":"openapi.json POST /v1/new-hire-monitors/{monitor_id}/events/{event_id}/webhook/redeliver","href":"/api-reference/new-hire-monitors/events/redeliver"}]},{"group":"Post engagements","expanded":false,"pages":[{"title":"Create a post engagement monitor","openapi":"openapi.json POST /v1/post-engagement-monitors","href":"/api-reference/post-engagement-monitors/create"},{"title":"List post engagement monitors","openapi":"openapi.json GET /v1/post-engagement-monitors","href":"/api-reference/post-engagement-monitors/list"},{"title":"Get a post engagement monitor","openapi":"openapi.json GET /v1/post-engagement-monitors/{monitor_id}","href":"/api-reference/post-engagement-monitors/get"},{"title":"Update a post engagement monitor","openapi":"openapi.json PATCH /v1/post-engagement-monitors/{monitor_id}","href":"/api-reference/post-engagement-monitors/update"},{"title":"Delete a post engagement monitor","openapi":"openapi.json DELETE /v1/post-engagement-monitors/{monitor_id}","href":"/api-reference/post-engagement-monitors/delete"},{"title":"Add sources to a post engagement monitor","openapi":"openapi.json POST /v1/post-engagement-monitors/{monitor_id}/sources","href":"/api-reference/post-engagement-monitors/sources/add"},{"title":"Remove a source from a post engagement monitor","openapi":"openapi.json DELETE /v1/post-engagement-monitors/{monitor_id}/sources/{source_id}","href":"/api-reference/post-engagement-monitors/sources/remove"},{"title":"List post engagers","openapi":"openapi.json GET /v1/post-engagement-monitors/{monitor_id}/engagers","href":"/api-reference/post-engagement-monitors/engagers"},{"title":"List post engagements","openapi":"openapi.json GET /v1/post-engagement-monitors/{monitor_id}/engagements","href":"/api-reference/post-engagement-monitors/engagements"},{"title":"Mark a post engager as read","openapi":"openapi.json POST /v1/post-engagement-monitors/{monitor_id}/engagers/{engager_id}/read","href":"/api-reference/post-engagement-monitors/engagers/read"},{"title":"Redeliver a post engager webhook","openapi":"openapi.json POST /v1/post-engagement-monitors/{monitor_id}/engagers/{engager_id}/webhook/redeliver","href":"/api-reference/post-engagement-monitors/engagers/redeliver"}]}]},{"group":"Miscellaneous","expanded":false,"pages":[{"title":"Business intent topics","openapi":"openapi.json POST /v1/business-intent-topics","href":"/api-reference/business-intent-topics"},{"title":"Website Technologies","openapi":"openapi.json POST /v1/technologies","href":"/api-reference/miscellaneous/website-technologies"},{"title":"WhatsApp checker","openapi":"openapi.json POST /v1/whatsapp-check","href":"/api-reference/miscellaneous/whatsapp-check"},{"title":"WhatsApp check status","openapi":"openapi.json GET /v1/whatsapp-check/operations/{operation_id}","href":"/api-reference/miscellaneous/whatsapp-check/status"},{"title":"Meta Ads","openapi":"openapi.json POST /v1/meta-ads","href":"/api-reference/miscellaneous/meta-ads"},{"title":"Google Ads","openapi":"openapi.json POST /v1/google-ads","href":"/api-reference/miscellaneous/google-ads"},{"title":"Google Maps","openapi":"openapi.json POST /v1/google-maps","href":"/api-reference/miscellaneous/google-maps"},{"title":"Email verifier","openapi":"openapi.json POST /v1/email-verifier","href":"/api-reference/miscellaneous/email-verifier"},{"title":"US DNC Checker","openapi":"openapi.json POST /v1/us-dnc-check","href":"/api-reference/dnc-checker"},{"title":"UK DNC Checker","openapi":"openapi.json POST /v1/uk-dnc-check","href":"/api-reference/uk-dnc-checker"}]}]},{"tab":"MCP \u0026 Agents","pages":[{"title":"MCP \u0026 Agents","href":"/mcp/how-to-use-the-airscale-mcp"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/usecases/quick-beginner-guide"}]}]},"basePath":"","title":"Create a new hire monitor - Airschool","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}