Redeliver a new hire webhook
curl --request POST \
--url https://api.airscale.io/v1/new-hire-monitors/{monitor_id}/events/{event_id}/webhook/redeliver \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'const url = 'https://api.airscale.io/v1/new-hire-monitors/{monitor_id}/events/{event_id}/webhook/redeliver';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
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/{monitor_id}/events/{event_id}/webhook/redeliver"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"event_id": "63333333-3333-4333-8333-333333333333",
"webhook": {
"status": "pending",
"attempt_count": 0,
"last_attempt_at": null,
"sent_at": null,
"error_code": null
}
}{
"error": "Invalid JSON"
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded: 120 requests per minute"
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Redeliver a new hire webhook
Send one new hire’s webhook again after a failed or unconfirmed delivery. Rate limit: 120 requests per fixed minute per API key, shared by all new hire monitor endpoints.
POST
/
v1
/
new-hire-monitors
/
{monitor_id}
/
events
/
{event_id}
/
webhook
/
redeliver
Redeliver a new hire webhook
curl --request POST \
--url https://api.airscale.io/v1/new-hire-monitors/{monitor_id}/events/{event_id}/webhook/redeliver \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'const url = 'https://api.airscale.io/v1/new-hire-monitors/{monitor_id}/events/{event_id}/webhook/redeliver';
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
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/{monitor_id}/events/{event_id}/webhook/redeliver"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"event_id": "63333333-3333-4333-8333-333333333333",
"webhook": {
"status": "pending",
"attempt_count": 0,
"last_attempt_at": null,
"sent_at": null,
"error_code": null
}
}{
"error": "Invalid JSON"
}{
"error": {
"code": "invalid_api_key",
"message": "The API key is not valid"
}
}{
"error": {
"code": "monitor_not_found",
"message": "Monitor not found"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"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.
failed or uncertain attempt or after resuming a paused monitor. Airscale resets the attempt count and sends the event again to the monitor’s current webhook URL, signed with its current signing secret. Redelivery never searches again and spends no credits.
The request accepts an empty body or {}. The 202 response returns event_id and the new webhook receipt, normally pending with attempt_count: 0.
The event keeps the same ID and
Idempotency-Key: new-hire-event:<event_id> header. Your receiver may already have processed an uncertain delivery, so handle the event idempotently.422 webhook_not_configured. Track the outcome through the webhook receipt in List new hire events.
Next step
Use Update a new hire monitor to change the webhook URL or rotate its signing secret before redelivering.Authorizations
Use an Airscale workspace API key. Never expose the key in client-side code.
Body
application/json
Optional. Send no body or an empty JSON object ({}).
The body is of type object.