Domains API
REST API reference for listing, adding, retrieving, and deleting domains, and managing per-check overrides in DomainCare.
Domains API
Manage your monitored domains programmatically. All endpoints require Bearer authentication.
List domains
GET /api/v1/domainsReturns all domains in your organization.
Response
{
"domains": [
{
"id": "clx1abc...",
"name": "example.com",
"createdAt": "2026-05-01T12:00:00.000Z",
"lastCheckedAt": "2026-05-29T08:00:00.000Z"
}
]
}Add a domain
POST /api/v1/domainsRequest body
{
"domain": "example.com"
}Response (201 Created)
{
"id": "clx1abc...",
"name": "example.com",
"createdAt": "2026-05-29T12:00:00.000Z"
}The domain is validated and normalized before being added. All checks begin running immediately after creation.
Get a domain
GET /api/v1/domains/:idReturns a single domain by ID, including its current check status.
Response
{
"id": "clx1abc...",
"name": "example.com",
"createdAt": "2026-05-01T12:00:00.000Z",
"lastCheckedAt": "2026-05-29T08:00:00.000Z"
}Delete a domain
DELETE /api/v1/domains/:idRemoves a domain and all its check history. This action is irreversible.
Response (204 No Content)
No response body.
Per-check overrides
Control individual check settings per domain — the same controls available in the dashboard's check settings panel.
Get check overrides
GET /api/v1/domains/:id/checks/:checkType/overridesReturns current override state and the event catalog for that check type.
Response
{
"data": {
"domainId": "abc-123",
"checkType": "ssl",
"disabled": false,
"muted": false,
"intervalSeconds": null,
"defaultIntervalSeconds": 21600,
"disabledEventTypes": [],
"severityOverrides": {},
"eventCatalog": [
{ "type": "ssl_cert_expired", "label": "SSL certificate expired", "tone": "failure" },
{ "type": "ssl_cert_expiry_warning", "label": "SSL certificate expiring soon", "tone": "warning" }
]
}
}Update check overrides
PATCH /api/v1/domains/:id/checks/:checkType/overridesPartial update — only provided fields are changed. Requires write scope.
Request body (all fields optional)
{
"muted": true,
"intervalSeconds": 3600,
"disabledEventTypes": ["ssl_weak_cipher_detected", "ssl_weak_protocol_detected"],
"severityOverrides": { "ssl_cert_expiry_warning": "high" }
}Validation rules:
intervalSecondsmust be an allowed preset for the check's speed class, ornullto resetdisabledEventTypesentries must be valid event types for this check (seeeventCatalogin the GET response)severityOverridesvalues must behigh,medium,low, orinfo- Paired events (failure + recovery) are enforced bidirectionally — disabling either side automatically disables the other (e.g. disabling
ssl_recoveredalso disablesssl_validation_issue, and vice versa)
Response — returns the full updated override state (same shape as GET).
Reset check overrides
DELETE /api/v1/domains/:id/checks/:checkType/overridesClears all overrides for this check, reverting to defaults. Requires full scope.
Response (204 No Content)
Valid check types: uptime, ssl, dns, nameserver, rdap, robots, email_auth, redirect, sitemap, lighthouse, blacklist, security_headers, open_ports.
Rate limits
| Plan | Limit |
|---|---|
| Trial | API disabled |
| Paid | 60 requests per minute |
Rate limit headers (X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset) are included in every response.
Errors
| Status | Meaning |
|---|---|
| 400 | Invalid domain name or request body |
| 401 | Missing or invalid API key |
| 404 | Domain not found |
| 409 | Domain already exists in your organization |
| 429 | Rate limit exceeded |
Automate your domain management
Add, list, and remove domains programmatically with the DomainCare REST API.
Get an API key