Domain Verification Record

GET /v1/domains/self/verification

The DNS TXT record your active account must publish before it can add a custom domain in manual mode. A manual domain has no DNS-provider credentials, so ownership is proven with this record instead:

  1. Call this with the domain's name and create the returned TXT record (_ngris-verify.<domain>) at your DNS provider.
  2. Add the domain with "provisioning_mode": "manual". The create looks the record up on the domain's authoritative nameservers and adds the domain only when it finds it; otherwise it answers 400 with code domain_txt_not_verified and the same record in verification.

The record depends only on your account and the domain name: the same account and name always get the same record, so you can publish it now and add the domain later, and another account gets a different one. The answer says nothing about whether the name is already registered with us. The name is normalised first — lower-cased, with surrounding spaces and a trailing dot removed — so Example.COM. and example.com share one record.

Permissions: requires domains:write on the active account (the same as adding a domain) and a plan with the custom_domains entitlement.

Query parameters

name string Req
The domain you want to add, e.g. example.com or sub.example.com: at least two labels, lowercase letters, digits, hyphens and dots, labels of up to 63 characters, 253 characters in total.

Response (200 OK)

domain string
The normalised domain name.
type string
Always TXT.
name string
The record name: _ngris-verify.<domain>.
value string
The record value: ngris-verify= followed by a token for your account and this domain.
message string
Instructions for a person: create the record, then add the domain in manual mode.

Errors

400 Bad Request
Domain name is required. or Invalid domain name format. …, with the message also under fields.name.
401 Unauthorized
Missing or invalid auth.
403 Forbidden
No active account, not a member, Insufficient permissions for this action (no domains:write), or the plan lacks custom domains (code entitlement_required, entitlement_required: "custom_domains").
503 Service Unavailable
Domain verification is unavailable right now. Please try again later.
Request
curl "https://api.ngris.com/v1/domains/self/verification?name=example.com" \ -H "X-API-KEY: <your_api_key>"
Response — 200 OK
{ "domain": "example.com", "type": "TXT", "name": "_ngris-verify.example.com", "value": "ngris-verify=k7q2m4xw3zr5tb6nd2hj4pl7ya", "message": "Create this TXT record at your DNS provider, then add the domain (manual mode). The domain is created only once the record is found on your domain's authoritative nameservers." }
Then — add the domain
curl -X POST "https://api.ngris.com/v1/domains/self" \ -H "X-API-KEY: <your_api_key>" \ -H "Content-Type: application/json" \ -d '{ "name": "example.com", "provisioning_mode": "manual" }'