View Monitor Event History
Every DNS change detected by a monitor creates an event. The events API provides access to this history for analysis, debugging, and compliance.
Listing Events for a Monitor
Get all events for a specific monitor:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events");Response
{
"limit": 20,
"after": "evt_xyz789",
"before": null,
"has_more": true,
"data": [
{
"uuid": "evt_def456",
"monitor_uuid": "mon_abc123",
"domain": "piedpiper.com",
"subdomain": "www",
"record_type": "A",
"expected_value": ["1.2.3.4"],
"occurred": "2026-01-08T14:22:10Z",
"previous_value": ["1.2.3.4"],
"current_value": ["5.6.7.8"],
"old_state": "VALID",
"new_state": "MISMATCH",
"incidence_count": 3
}
]
}
Pagination
Events use cursor-based pagination:
Next Page
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?after=evt_xyz789&limit=50");Previous Page
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?before=evt_abc123&limit=50");Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit | integer | Results per page (1-100, default: 20) |
after | string | Cursor for next page |
before | string | Cursor for previous page |
order_by | string | Sort field (e.g., occurred) |
order_way | string | Sort direction (asc or desc) |
occurred_after | integer | Unix timestamp - events after this time |
occurred_before | integer | Unix timestamp - events before this time |
old_state | string | Filter by state (VALID, MISMATCH, NOT_FOUND, TIMEOUT, INVALID) |
new_state | string | Filter by state (VALID, MISMATCH, NOT_FOUND, TIMEOUT, INVALID) |
Filtering Events
Filter by Time Range
Get events within a specific time period using Unix timestamps (seconds since epoch).
Events after a specific time:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661");Events before a specific time:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_before=1767880061");Events within a time range:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?occurred_after=1767793661&occurred_before=1767880061");Unix Timestamps: Convert dates to Unix timestamps using date +%s in Bash, Date.now() / 1000 in JavaScript, or int(time.time()) in Python.
Filter by State
Get only events with a specific state.
DNS mismatches only:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH");Missing DNS records:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=NOT_FOUND");Valid states (back to normal):
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID");Timeout errors:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT");Invalid DNS responses:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=INVALID");Sorting Options
Sort by occurred timestamp (descending):
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc");Sort by occurred timestamp (ascending):
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=asc");Combining Filters
You can combine multiple filters to create powerful queries.
Recent MISMATCH events (last 24 hours):
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=MISMATCH&occurred_after=1767793661&order_by=occurred&order_way=desc&limit=50");All errors in a specific time range:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=TIMEOUT&occurred_after=1767793661&occurred_before=1767880061&order_by=occurred&order_way=asc");Latest 100 events, sorted newest first:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?order_by=occurred&order_way=desc&limit=100");Recovery events (state changed to VALID):
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events?new_state=VALID&occurred_after=1767793661&limit=20");Get Single Event
Retrieve details for a specific event:
curl -X GET https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456 \
-H "X-API-Key: YOUR_API_KEY"const response = await fetch('https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456', {
method: 'GET',
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
const data = await response.json();import requests
response = requests.get(
'https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456',
headers={
'X-API-Key': 'YOUR_API_KEY',
}
)require 'net/http'
require 'json'
uri = URI('https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['X-API-Key'] = 'YOUR_API_KEY'
response = http.request(request)package main
import (
"bytes"
"encoding/json"
"net/http"
)
req, _ := http.NewRequest("GET", "https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
client := &http.Client{}
response, _ := client.Do(req)<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
$headers = [
'X-API-Key: YOUR_API_KEY',
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);import java.net.http.*;
import java.net.URI;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456"))
.header("X-API-Key", "YOUR_API_KEY")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());using System.Net.Http;
using System.Text;
using System.Text.Json;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.GetAsync("https://api.dnsradar.dev/monitors/mon_abc123/events/evt_def456");Event Fields
| Field | Description |
|---|---|
uuid | Unique event identifier (evt_) |
monitor_uuid | Associated monitor ID |
domain | Domain name |
subdomain | Subdomain (if applicable) |
record_type | DNS record type |
expected_value | Expected DNS values |
occurred | ISO 8601 timestamp |
previous_value | DNS value before change |
current_value | DNS value after change |
old_state | Previous monitor state |
new_state | Current monitor state |
incidence_count | Total incidents for this monitor |
Monitor States
Events track state transitions:
| State | Meaning |
|---|---|
VALID | DNS matches expected value |
MISMATCH | DNS doesn't match |
NOT_FOUND | DNS record missing |
TIMEOUT | DNS query timeout |
INVALID | Invalid DNS response |