Webhook Configuration

Availability monitoring for Russian IT teams

Payload

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.

Security

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.

Retry Logic

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.