API key

Sign in and open this page again to see your API key.

DDNS Updater

DDNS Updater is a Windows/Linux/macOS program that can automatically update domain to your current IP address. See installation instructions here. Paste this JSON into data/config.json:

{
  "settings": [
    {
      "provider": "custom",
      "domain": "YOUR_SUBDOMAIN.nya.je",
      "url": "https://ddns.kicya.net/api/ipv4/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY",
      "ipv4key": "ip",
      "ipv6key": "",
      "success_regex": "\"ok\":true",
      "ip_version": "ipv4",
      "ipv6_suffix": ""
    },
    {
      "provider": "custom",
      "domain": "YOUR_SUBDOMAIN.nya.je",
      "url": "https://ddns.kicya.net/api/ipv6/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY",
      "ipv4key": "",
      "ipv6key": "ip",
      "success_regex": "\"ok\":true",
      "ip_version": "ipv6",
      "ipv6_suffix": ""
    }
  ]
}
Setting IP with HTTP API

If ip is not provided, the caller’s IP will be used.

curl "https://ddns.kicya.net/api/ipv4/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY&ip=203.0.113.7"

For IPv6, use the same endpoint but with ipv6 instead of ipv4.

curl -6 "https://ddns.kicya.net/api/ipv6/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY&ip=2001:db8::7"
Cron (Linux and macOS)

Run crontab -e and add a line at the bottom:

* * * * * /usr/bin/curl -fsS "https://ddns.kicya.net/api/ipv4/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY" -o /dev/null

IPv6:

* * * * * /usr/bin/curl -6 -fsS "https://ddns.kicya.net/api/ipv6/update?domain=YOUR_SUBDOMAIN&token=YOUR_API_KEY" -o /dev/null
Setting DNS records with HTTP API

Required: domain (your subdomain label), plus name, type, ttl, content, priority, weight, port, target as needed.

curl -X POST "https://ddns.kicya.net/api/dns/update?token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"YOUR_SUBDOMAIN","name":"@","type":"TXT","ttl":60,"content":"hi"}'
curl -X POST "https://ddns.kicya.net/api/dns/update?token=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"YOUR_SUBDOMAIN","name":"_service._tcp","type":"SRV","ttl":60,"priority":"0","weight":"5","port":"443","target":"host.example.com."}'