List new hire monitors
curl --request GET \
--url https://api.airscale.io/v1/new-hire-monitors \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/new-hire-monitors';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/new-hire-monitors"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"monitors": [
{
"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": "2026-11-02T10:05:00.000Z",
"next_check_at": "2026-11-09T10:05:00.000Z",
"last_successful_check_at": "2026-11-02T10:05:00.000Z",
"run_block_reason": null,
"created_at": "2026-11-02T10:00:00.000Z",
"updated_at": "2026-11-02T10:05:00.000Z",
"webhook_url": "https://hooks.example.com/airscale/new-hires",
"webhook_configured": true,
"company_count": 2,
"unresolved_company_count": 0,
"new_hire_count": 1,
"unread_event_count": 1
}
]
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}List new hire monitors
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.
GET
/
v1
/
new-hire-monitors
List new hire monitors
curl --request GET \
--url https://api.airscale.io/v1/new-hire-monitors \
--header 'Authorization: Bearer <token>'const url = 'https://api.airscale.io/v1/new-hire-monitors';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://api.airscale.io/v1/new-hire-monitors"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"monitors": [
{
"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": "2026-11-02T10:05:00.000Z",
"next_check_at": "2026-11-09T10:05:00.000Z",
"last_successful_check_at": "2026-11-02T10:05:00.000Z",
"run_block_reason": null,
"created_at": "2026-11-02T10:00:00.000Z",
"updated_at": "2026-11-02T10:05:00.000Z",
"webhook_url": "https://hooks.example.com/airscale/new-hires",
"webhook_configured": true,
"company_count": 2,
"unresolved_company_count": 0,
"new_hire_count": 1,
"unread_event_count": 1
}
]
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}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.
This operation is read-only and spends no credits. It never returns a webhook signing secret.
legacy: true and filters: null. They can be read, paused, resumed, and renamed through the API, but their companies can only be edited in the app.
Use the monitor id returned here with the detail, update, company, and event operations. A paused monitor stays in the list so you can resume it later. If a create request’s response was lost, list monitors before deciding whether to create another.