Webhook events
Requests sent to your webhook endpoints when something happens. Each page shows the headers and body of the request, and the response your endpoint should give.
server.created
A server was added and waits for its agent.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.created › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server was added and waits for its agent.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.created › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.enrolled
A server's agent enrolled for the first time.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.enrolled › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's agent enrolled for the first time.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.enrolled › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.updated
A server's name, metadata, location or settings changed.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.updated › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's name, metadata, location or settings changed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.updated › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.deleted
A server was removed.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.deleted › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server was removed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.deleted › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.offline
A server stopped checking in.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.offline › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server stopped checking in.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.offline › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.online
An offline server checks in again.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.online › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeAn offline server checks in again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.online › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.reboot_stalled
A server did not come back after a reboot.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.reboot_stalled › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server did not come back after a reboot.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.reboot_stalled › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
alert.fired
A metric alert rule fired.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
alert.fired › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA metric alert rule fired.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
alert.fired › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
alert.resolved
A firing alert resolved.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
alert.resolved › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA firing alert resolved.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
alert.resolved › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
metrics.stalled
An online server stopped delivering metrics.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
metrics.stalled › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeAn online server stopped delivering metrics.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
metrics.stalled › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
metrics.resumed
A server delivers metrics again.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
metrics.resumed › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server delivers metrics again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
metrics.resumed › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.storage_unhealthy
A RAID array or ZFS pool degraded, or a disk failed.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.storage_unhealthy › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA RAID array or ZFS pool degraded, or a disk failed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.storage_unhealthy › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
server.storage_healthy
A server's storage is healthy again.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
server.storage_healthy › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's storage is healthy again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
server.storage_healthy › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.
webhook_endpoint.test
A test event sent from the dashboard.
Headers
webhook-idThe event's id, the same on every attempt.
webhook-timestampThe Unix time this attempt was sent, reject requests more than five minutes from your clock.
webhook-signatureSpace-separated v1,{base64} HMAC-SHA256 signatures of {webhook-id}.{webhook-timestamp}.{body}, following Standard Webhooks. Two while a rotated secret is still valid.
webhook_endpoint.test › Request Body
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA test event sent from the dashboard.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
webhook_endpoint.test › Responses
Any 2xx status within 15 seconds acknowledges the delivery. Any other status, a timeout or a redirect fails it, and it is retried.