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?

Create an account in minutes. The free cloud tier includes one server per customer after at least €10 in confirmed account deposits. Money-back eligibility varies by service.