Validate CNAME
Manual-mode domains only. When you add a custom domain with provisioning_mode: "manual", you manage DNS at your own provider. Add the wildcard CNAME shown for the domain (*.<domain> CNAME cname.ngris.io), then call this endpoint to verify it resolves.
On success the domain advances from pending_cname to awaiting_cert. The next step is to upload your TLS certificate for *.<domain> (see Certificates); the domain becomes active once a valid certificate is present. Manual-mode certificates do not auto-renew — re-upload before expiry.
DNS changes can take a few minutes to propagate; if validation fails with 400, wait and retry.
Apex domains. Validation probes a subdomain covered by your wildcard, so the
*.<domain> CNAME cname.ngris.io record is what's checked. If you also serve the bare apex (@), a CNAME isn't valid there — add an A record to the apex fallback IP shown in your dashboard. The apex A record isn't required to pass validation.Path parameters
uuid string (uuid) Req
Domain UUID. Must be a
manual-mode domain you own.Request body
None — empty body.
Response (200 OK)
ok boolean
true when the wildcard CNAME resolves to the platform target.status string
New domain status —
awaiting_cert.message string
Human-readable next-step hint (upload your certificate).
Errors
400 Bad Request
The wildcard CNAME isn't resolving to the target yet (add the record / wait for propagation), or the domain is not in
manual mode (auto domains are validated automatically).401 Unauthorized
Missing auth.
404 Not Found
Domain doesn't exist or doesn't belong to the calling account.
503 Service Unavailable
The platform CNAME target is not configured. Contact support.
Request
curl -X POST "https://api.ngris.com/v1/domains/self/<uuid>/validate-cname" \
-H "X-API-KEY: <your_api_key>"
Response — 200 OK
{
"ok": true,
"status": "awaiting_cert",
"message": "CNAME validated. Upload your TLS certificate for this domain to activate it."
}