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.

Delivery Target

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

Event Filtering

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.

Payload Anatomy

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

Security Headers

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.

Backoff Strategy

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.

Success Criteria

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.