API v1

Quathos Monitor developer docs

Quathos Monitor watches your domains wherever they are hosted (nameservers, DNSSEC, e-mail records, registration, certificates and availability) and, if you want, serves them from its own authoritative nameservers. The API is REST over JSON, versioned in the path (/v1), and every resource lives under your organization (/orgs/{org_id}/…). Identifiers are integers and timestamps are UTC in ISO 8601. Every request carries an organization API key as a Bearer token.

Copy, paste, run

Create your first zone from any terminal.

curl -X POST "https://api.monitor.quathos.com/v1/orgs/$ORG_ID/zones" \
  -H "Authorization: Bearer $QUATHOS_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "example.com" }'

Response: 201 Created · { "name": "example.com", "status": "pending" }

When something fails

Every error returns the same shape: an HTTP status, a human-readable detail and, for most of them, a stable code in the X-Error-Code header you can branch on.

codeStatusWhen
not_authenticated401No Authorization header.
api_key_revoked401Unknown or revoked API key.
api_key_scope_missing403The key lacks the scope for this route.
zone_not_found404Zone does not exist in your organization, or is outside the key's allowed zones.
zone_exists_in_org409The domain was already added to this organization.
monitor_quota_reached422Watched-domain quota reached. Nothing in the batch was added.
rate_limited429Too many requests: wait Retry-After seconds and retry.

See the full error reference →

Frequently asked questions

Changes are live

On an active zone, record changes are pushed to the authoritative nameservers as part of the request: when the API answers 201 or 200, the answer is already being served. Global propagation to resolvers still depends on the record TTL.