Overview
DNSRadar sends webhook events to notify your application in real-time when DNS monitoring events occur. When a monitor detects a change in DNS records, we’ll send an HTTP POST request to your configured webhook endpoint with details about the event.Webhooks enable you to build automated workflows and integrations that respond immediately to DNS changes without polling the API.
Event Payload Structure
When an event occurs, we send a POST request to your webhook URL with the following JSON payload:Payload Fields
Unique identifier for this webhook request
Unique identifier of the webhook configuration
The monitoring event that triggered the webhook
Unique identifier for the event
Unique identifier of the monitor that detected the change
ISO 8601 timestamp when the event occurred
The DNS record values before this event (if available)
The current DNS record values (if available)
The previous state of the monitor (VALID, MISMATCH, ERROR)
The current state of the monitor (VALID, MISMATCH, ERROR)
Number of consecutive times the monitor has been in this state
Domain configuration object for the monitor
The root domain being monitored
The subdomain being monitored (if applicable)
The DNS record type (A, AAAA, CNAME, MX, TXT, etc.)
The expected DNS record values for the monitor
Whether the monitor requires an exact match of DNS values
ISO 8601 timestamp when the webhook request was created
Retry Logic
DNSRadar implements an automatic retry mechanism to ensure reliable delivery of webhook events. If your endpoint returns a non-2xx status code, we’ll retry the request using an incremental backoff strategy.Retry Schedule
| Attempt | Delay |
|---|---|
| 1st retry | 5 minutes |
| 2nd retry | 10 minutes |
| 3rd retry | 15 minutes |
| 4th retry | 30 minutes |
| 5th retry | 1 hour |
| 6th retry | 2 hours |
| 7th retry | 6 hours |
| 8th retry | 12 hours |
| 9th retry | 24 hours |
Webhook Pausing
If a webhook consistently fails, all events attached to that webhook will be automatically paused to prevent further failed attempts. The webhook will resume automatically once a request succeeds.Security
Webhook Signatures
Every webhook request includes cryptographic signatures to verify authenticity and prevent unauthorized requests.Signature Headers
HMAC-SHA256 signature of the raw request body, signed with your webhook secret
Unix timestamp (in seconds) when the webhook was sent
Verifying Signatures
To ensure the webhook request is legitimate and hasn’t been tampered with, verify the signature on every request:Best Practices
Respond Quickly
Respond Quickly
Your webhook endpoint should respond with a 2xx status code within 30 seconds. Process events asynchronously if needed.
Handle Duplicate Events
Handle Duplicate Events
Due to retries, you may receive the same event multiple times. Use the
id field to deduplicate events.Use HTTPS Endpoints
Use HTTPS Endpoints
Always use HTTPS URLs for your webhook endpoints to ensure data is encrypted in transit.
Monitor Webhook Health
Monitor Webhook Health
Track failed webhook attempts in the DNSRadar Dashboard and set up alerts for repeated failures.
Implement Error Handling
Implement Error Handling
Handle errors gracefully and log failures for debugging.
Test Your Integration
Test Your Integration
Use the webhook test endpoint to verify your integration before going live.

