Domain Registrar Integrations

One-line CLI scripts to enable/disable WAB DNS Discovery on the most popular domain registrars.

Why CLI not browser? Most registrar APIs require static IP allow-lists or block CORS, which prevents direct browser-side calls. Run these scripts from a server or your local machine instead.

GoDaddy CLI

Uses the GoDaddy Domains API v1. Requires production API key + secret from developer.godaddy.com/keys.

⚠ GoDaddy now restricts the public API to accounts with 50+ domains or paid Reseller plans. For smaller accounts, use the GoDaddy DNS web UI to add a TXT record at _wab with the value provided by WAB.
1
Download the script: ⬇ godaddy-wab-dns.js
2
Install dependencies: npm install node-fetch@2
3
Run:
GODADDY_API_KEY=your-key GODADDY_API_SECRET=your-secret \
  node godaddy-wab-dns.js enable example.com

GODADDY_API_KEY=your-key GODADDY_API_SECRET=your-secret \
  node godaddy-wab-dns.js disable example.com

Inline cURL alternative

# 1. Get current TXT records for _wab
curl -s -H "Authorization: sso-key $KEY:$SECRET" \
  "https://api.godaddy.com/v1/domains/example.com/records/TXT/_wab"

# 2. Replace TXT records (PUT replaces entire record set)
curl -s -X PUT -H "Authorization: sso-key $KEY:$SECRET" \
  -H "Content-Type: application/json" \
  "https://api.godaddy.com/v1/domains/example.com/records/TXT/_wab" \
  -d '[{"data":"v=wab1; endpoint=https://example.com/.well-known/wab.json","ttl":3600}]'

# 3. Disable: replace with empty array
curl -s -X PUT -H "Authorization: sso-key $KEY:$SECRET" \
  -H "Content-Type: application/json" \
  "https://api.godaddy.com/v1/domains/example.com/records/TXT/_wab" \
  -d '[]'

Namecheap CLI

Uses the Namecheap API. Requires API enablement (Profile → Tools → API Access) and IP allow-listing.

⚠ Namecheap API requires the calling IP to be added to the allow-list in your account profile. Also, setHosts replaces ALL host records — the script preserves your existing records and only modifies _wab.
1
Download the script: ⬇ namecheap-wab-dns.js
2
Install dependencies: npm install node-fetch@2 fast-xml-parser
3
Run:
NAMECHEAP_USER=your-user \
NAMECHEAP_API_KEY=your-api-key \
NAMECHEAP_CLIENT_IP=1.2.3.4 \
  node namecheap-wab-dns.js enable example.com

# Same env vars, then:
node namecheap-wab-dns.js disable example.com

How it works all registrars

1
Fetch WAB record template (GET /api/discovery/provider/record-template) for the TXT value.
2
Read existing TXT records via the registrar's API.
3
Add or replace the _wab TXT record (registrar-specific call).
4
Verify with /api/discovery/provider/status — propagation may take 5-30 minutes for some registrars.

← Provider Onboarding · Cloudflare · Route 53 · Azure DNS · DNS Discovery