Webhook Configuration
Availability monitoring for Russian IT teams
JSON Body Format
Every notification dispatched by UptimeGuard follows a strict, versioned JSON schema. The root object contains a `type` field and a `payload` object with runtime metrics, ensuring predictable parsing across your alerting stack.
Core Fields
`incident_id` (UUID v4), `monitor_name` (string), `current_status` (up/down/degraded), `last_checked_at` (ISO 8601), and `region` (e.g., `msk-1`, `spb-2`).
Performance Metrics
`response_time_ms` (integer), `tls_version` (string), `certificate_expiry_days` (integer), and `http_status_code` (integer). All values are null-safe and consistently typed.
Request Signing
Verify that every incoming webhook originates from UptimeGuard by validating the cryptographic signature attached to each request header. This prevents spoofed alerts and replay attacks.
HMAC-SHA256 Verification
We append `X-UptimeGuard-Signature` to every POST request. The signature is generated by hashing the raw request body with your unique webhook secret key. Reject any request where the computed hash does not exactly match the header value.
Delivery Failure Handling
Network hiccups and temporary endpoint outages are expected. Our exponential backoff strategy ensures critical alerts eventually reach your infrastructure without spamming your servers or masking real incidents.
Backoff Schedule
Initial attempt, followed by retries at 30s, 2m, 10m, 1h, and 6h intervals. Total maximum attempts: 6. After the final failure, the incident is marked as `webhook_delivery_failed` in your dashboard.
Status Code Routing
2xx and 3xx responses mark delivery as successful. 4xx errors halt retries immediately and flag the endpoint as misconfigured. 5xx errors and connection timeouts trigger the backoff queue.