Custom DNS management (per domain & hub)
Step-by-step: where to manage records in globNIC, which record types the API allows, plan limits, and the Bulk DNS tool.
When DNS management is unlocked
The backend only allows add/edit/delete when the asset belongs to you and nameServerStatus is one of:
- verified
- parked
- verified_ns
- verified_txt
- verified_cname
If you see "Domain must be verified before managing DNS", finish /member/domains/{domain}/verify first (NS, TXT, or CNAME). This matches GET/POST/PATCH/DELETE on /api/member/domains/{domain}/dns.
Eligibility is identical for Bulk DNS (/api/member/domains/bulk-dns): only domains in those verified-like statuses are updated; the rest are returned as unverified in the response and skipped.
Where to click in the member UI
DNS hub (all domains)
- Open
/member/dns. You’ll see Verified domains (links to per-domain management) and Pending (not yet eligible). Use DNS Templates at/member/dns/templatesto reuse record sets; per-domain and bulk UIs can load saved templates where implemented.
Per-domain editor
-
Navigate to
/member/domains/{domain}/dns(from the hub Manage DNS or your domain list). The page:- Loads records with
GET /api/member/domains/{domain}/dns(PowerDNS-backed zone). - Adds a record with
POST; edits withPATCH; deletes withDELETE.
- Loads records with
Validation rules (must match the API)
From dnsRecordSchema (used by the per-domain DNS API):
- Types: only A, AAAA, CNAME, MX, TXT.
- Name: 1–255 chars; @ or labels like
www; must match the regex used in code (alphanumeric, dots, underscore, hyphen). - Content: 1–4096 characters; type-specific (e.g. A = IPv4, CNAME = hostname, MX = mail host + priority required).
- TTL: integer 300–86400 seconds (default 3600 in typical forms).
- CNAME at apex: You cannot set CNAME with name = @ in the managed globNIC DNS editor — the schema rejects it (“Use A record instead”). Verification CNAME to parking.globnic.com is done at your external DNS, not as an editable root CNAME in this editor.
Per-plan record caps are enforced on POST: FREE/Navigator: 10, Strategist: 50, Sovereign: 200, Enterprise: 1000 custom records (non-protected rows counted for the cap logic in the route). Hitting the cap returns 403 with upgradeUrl /pricing.
Bulk DNS tool
-
URL:
/member/domains/bulk-dns -
API:
POST /api/member/domains/bulk-dnswith JSON:domains: string array, 1–100 hostnames per request (UI may batch large selections into 100-domain chunks with a short delay between batches).records: 1–10 record objects, each: name, type (A, AAAA, CNAME, MX, TXT), content, ttl (60–86400 in bulk), optional priority for MX (defaults to 10 if omitted in bulk).
-
Result: JSON lists successDomains, failedDomains, and optional unverifiedDomains (domains you don’t own or that aren’t in a verified-like status). If the backend is down, the API can return 503 with a “retry in 1–2 minutes” style message for transient PowerDNS errors.
-
Templates: The bulk page can load a template id from the query
?template=when templates are loaded from the templates API (same record shapes as above).
Quick actions in the per-domain UI
- The per-domain page can offer Quick actions (e.g. email presets) backed by the same A/AAAA/CNAME/MX/TXT types; presets must still pass schema validation (e.g. MX needs priority).