curl -X POST "https://kodostatus.com/api/v1/domain-monitors" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"alert_days": 60
}'
const response = await fetch('https://kodostatus.com/api/v1/domain-monitors', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: 'example.com',
alert_days: 60
})
});
const domain_monitor = await response.json();
{
"id": "dom_abc123",
"domain": "example.com",
"alert_days": 60,
"enabled": true,
"last_checked_at": "2024-01-15T10:30:00Z",
"registration": {
"registrar": "Cloudflare, Inc.",
"created_date": "2020-01-15T00:00:00Z",
"expiry_date": "2025-01-15T00:00:00Z",
"days_until_expiry": 365,
"nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"]
},
"created_at": "2024-01-15T10:30:00Z"
}
Domain Monitors
Create Domain Monitor
Create a new domain expiration monitor to prevent accidental domain loss
POST
/
domain-monitors
curl -X POST "https://kodostatus.com/api/v1/domain-monitors" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"alert_days": 60
}'
const response = await fetch('https://kodostatus.com/api/v1/domain-monitors', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: 'example.com',
alert_days: 60
})
});
const domain_monitor = await response.json();
{
"id": "dom_abc123",
"domain": "example.com",
"alert_days": 60,
"enabled": true,
"last_checked_at": "2024-01-15T10:30:00Z",
"registration": {
"registrar": "Cloudflare, Inc.",
"created_date": "2020-01-15T00:00:00Z",
"expiry_date": "2025-01-15T00:00:00Z",
"days_until_expiry": 365,
"nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"]
},
"created_at": "2024-01-15T10:30:00Z"
}
Request Body
string
required
Domain to monitor (e.g., “example.com”). Do not include subdomains or protocol.
number
default:"60"
Number of days before expiration to trigger alerts. Recommended: 60 for critical domains, 30 for others.
string
Optional service ID to link this monitor to
array
Array of notification channel IDs to alert on domain expiration warnings
Response
Returns the created domain monitor object with initial WHOIS lookup results.curl -X POST "https://kodostatus.com/api/v1/domain-monitors" \
-H "X-API-Key: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"domain": "example.com",
"alert_days": 60
}'
const response = await fetch('https://kodostatus.com/api/v1/domain-monitors', {
method: 'POST',
headers: {
'X-API-Key': 'your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
domain: 'example.com',
alert_days: 60
})
});
const domain_monitor = await response.json();
{
"id": "dom_abc123",
"domain": "example.com",
"alert_days": 60,
"enabled": true,
"last_checked_at": "2024-01-15T10:30:00Z",
"registration": {
"registrar": "Cloudflare, Inc.",
"created_date": "2020-01-15T00:00:00Z",
"expiry_date": "2025-01-15T00:00:00Z",
"days_until_expiry": 365,
"nameservers": ["ns1.cloudflare.com", "ns2.cloudflare.com"]
},
"created_at": "2024-01-15T10:30:00Z"
}
Domain WHOIS lookups are performed daily. Some registrars may redact WHOIS information for privacy-protected domains.