Webhooks — External Integrations
Uptime monitoring without compromise
Endpoint Configuration
Define where StatusPool delivers your monitoring events. Secure your payload with a cryptographic secret and manage delivery targets across your infrastructure.
Webhook URL & Authentication
Specify an HTTPS endpoint capable of receiving POST requests. StatusPool enforces TLS 1.2+ and validates server certificates. Include a 64-character hexadecimal secret token to sign every payload using HMAC-SHA256.
Example endpoint: https://hooks.example.com/v1/statuspool/events
Secret token: sk_live_9f8a7b6c5d4e3f2a1b0c9d8e7f6a5b4c
Trigger Conditions & Scopes
Select which monitoring events route to this endpoint. Filter by status transitions (up→down, down→up, degraded), certificate expiry warnings, or scheduled maintenance windows. Scope delivery to specific check groups like api-prod-eu or cdn-assets.
Default retention: 14 days for failed delivery logs.
JSON Payload Structure
Every webhook delivers a standardized JSON document. Parse these fields to trigger alerts in Slack, PagerDuty, or custom dashboards.
Standard Event Body
event_id: UUIDv4 identifier for idempotency
timestamp: ISO 8601 server time (UTC)
check_id: Internal monitor reference (e.g., chk_8842a1b9)
target: Hostname or endpoint URL
status: Current state (up, down, degraded, maintenance)
previous_status: State before transition
response_time_ms: Last successful probe latency
error_code: HTTP status or TLS handshake failure code
Verification & Signature
Validate incoming requests by checking the X-StatusPool-Signature-256 header. The signature is computed as HMAC-SHA256(timestamp + "." + body, secret). Reject payloads older than 300 seconds to prevent replay attacks.
Content-Type is strictly application/json; charset=utf-8.
Delivery & Retry Policy
Network blips happen. StatusPool automatically handles transient failures without dropping critical downtime alerts.
Exponential Retry Schedule
Failed deliveries trigger an automatic retry sequence: 15s, 45s, 2m 15s, 6m 45s, 20m 25s, 1h 1m 30s. After six consecutive failures, the endpoint is marked unhealthy and paused for 4 hours. You will receive a summary notification via your primary channel.
HTTP Response Validation
StatusPool considers a delivery successful only on 2xx or 3xx responses. 4xx errors indicate misconfiguration and halt retries immediately. 5xx or connection timeouts trigger the full backoff sequence. Payloads are never dropped; they persist in the queue until acknowledged or expired after 72 hours.