FreeDNS API quickstart

FreeDNS is included with every Pidgin Host account. Activate DNS hosting for a domain you own, then manage records programmatically.

1. Activate FreeDNS for a domain

curl -X POST https://www.pidginhost.com/api/v1/freedns/dns/activate/ \
  -H "Authorization: Token $PIDGINHOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "example.com", "source": "internal", "ip": "203.0.113.10"}'

Use source=external for a domain you added manually, or source=internal for a domain registered in your account.

2. Add records

curl -X POST "https://www.pidginhost.com/api/v1/freedns/dns/add-record/?domain=example.com&source=internal" \
  -H "Authorization: Token $PIDGINHOST_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"type": "A", "name": "www", "address": "203.0.113.10", "ttl": 300}'

3. List records

curl -X GET "https://www.pidginhost.com/api/v1/freedns/dns/records/?domain=example.com&source=internal" \
  -H "Authorization: Token $PIDGINHOST_API_TOKEN"

Same flow with phctl CLI

phctl freedns domain activate example.com --source internal --ip 203.0.113.10
phctl freedns record create \
  --domain example.com \
  --source internal \
  --type A \
  --name www \
  --address 203.0.113.10 \
  --ttl 300

Need the full reference?

Every endpoint with Python, JavaScript, PHP, Go, Rust, CLI, and curl examples.

Ready to launch your infrastructure?

Sign up in 60 seconds. 30-day money-back guarantee. No credit card required for the free cloud VM tier.