Quickstart
This guide takes you from zero to a working Dominder integration in five steps. Everything below is copy-pasteable; the only thing you need to change is your API key.
1. Create an account and subscribe
Head to/pricing, pick a plan, and complete Stripe Checkout. You'll land back on the
billing page with an active subscription. Without an active subscription
every API call returns402 Payment Required.
2. Grab your API key
Open/account. Your key looks like:
dmk_5042fef9d749dc61879b94916b7fcfcaf8c493a49278d66ba49c6493acf77c1eTreat it like a password - rotate it from the same page if it ever leaks.
3. Configure a webhook URL
On the same account page, set your webhook URL - the public HTTPS endpoint that will receive notifications. Something like:
https://your-app.example.com/dominder-webhook4. Add your first domain
Let's ask Dominder to watchexample.comfor HTTP reachability and SSL health, and verify the apex A record:
curl -X POST https://dominder.co/api/v1/domains \
-H "Authorization: Bearer $DOMINDER_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"hostname": "example.com",
"monitor": { "status": true, "ssl": true, "records": true },
"records": [
{ "type": "A", "host": "", "expected": "93.184.216.34" },
{ "type": "CNAME", "host": "www", "expected": "example.com" }
]
}'Response:
{
"domain": {
"id": "66a1c0ffeec0ffee12345678",
"hostname": "example.com",
"monitor": { "status": true, "ssl": true, "records": true },
"records": [
{ "id": "66a1...", "type": "A", "host": "", "expected": "93.184.216.34" },
{ "id": "66a1...", "type": "CNAME", "host": "www", "expected": "example.com" }
],
"intervalMinutes": null,
"paused": false,
"lastStatus": "unknown",
"lastCheckedAt": null,
"consecutiveFailures": 0,
"createdAt": "2026-04-22T12:34:56.000Z",
"updatedAt": "2026-04-22T12:34:56.000Z"
}
}
5. Receive a webhook
The scheduler will pick up the new domain within a minute or two. As soon as any check fails (or later recovers), Dominder posts to your webhook URL with something like:
POST https://your-app.example.com/dominder-webhook
X-Dominder-Event: domain.failing
X-Dominder-Signature: sha256=ab12...
Content-Type: application/json
{
"event": "domain.failing",
"domain": { "id": "66a1...", "hostname": "example.com" },
"status": "failing",
"previousStatus": "ok",
"consecutiveFailures": 1,
"checkedAt": "2026-04-22T12:39:00.000Z",
"results": [
{ "kind": "ssl", "ok": false, "message": "Certificate expired on 2026-04-21" },
{ "kind": "status", "ok": true, "message": "HTTPS 200" }
]
}See theWebhooks pagefor how to verify the signature.
What to read next
- Authentication - header formats and key rotation
- Domains API - every endpoint, every field
- Monitoring checks - exactly what each check does and when it fails
- Webhooks - signature verification, payload shape, best practices