The REST API specification is available at https://dynv6.github.io/api-spec/
We implemented the dyn.com Remote Access API that is also known as the Members NIC Update API or DNS Update API. It can only be used to update the IPv4 address of a zone.
To use the endpoint
please set the server in your client to
The Update API supports updating the IPv4/IPv6 address and the IPv6 prefix as well. Whenever your IP address changes, send an HTTP GET request to the following URI:
You can use
http:// instead of
https:// (although not recommended).
Your dynv6 zone name.
Alternative parameter names:
||mandatory||An HTTP token for this zone.|
Updates the IPv4 address (A record) of your zone.
One of the following values:
Updates the IPv6 address (AAAA record) of your zone.
One of the following values:
Updates the IPv6 prefix of your IPv6 records, but not the AAAA record of the zone itself. Use one of the following values:
If you set
you might want to use a different URL to enforce a specific IP protocol version:
Use our update script
We provide a small script that updates your address at dynv6. You can run it with:
token=your-token ./dynv6.sh example.dynv6.net
Upload your SSH key on the
page and connect to
To execute commands you can use our interactive shell (pseudo-terminal)
or run commands directly.
TAB to learn the command structure.
- Listing and adding hostnames
- Listing records
- Updating the IPv4/IPv6 address of a dynv6 hostname
- Adding and updating A/AAAA/TXT records
Features coming next
- Adding and updating CNAME/MX records
- Removing records
DNS Update ¶
First, you need to generate a TSIG key.
Then you need a client application to update DNS enties, like
nsupdate.exe on Windows). It is part of the ISC BIND distribution
and generally available for most operating systems.
You can use any RFC2136 compliant software to manage your DNS entries,
nsupdate is just one example. Another viable option, especially
if you only want to obtain free Let's Encrypt certificates, is to use
(and software based on lego, like Caddy)
If you've meet all prerequisites, you can for example, update the A and AAAA
yourhost.dynv6.com like so:
nsupdate <<EOF server ns1.dynv6.com zone yourhost.dynv6.com update delete yourhost.dynv6.com A update add yourhost.dynv6.com 60 A 127.0.0.1 update delete yourhost.dynv6.com AAAA update add yourhost.dynv6.com 60 AAAA ::1 key hmac-sha256:_123._tsig.dynv6.com YourSHAREDsecret== send EOF
This alters your host
yourhost.dynv6.com using the TSIG
The actual update set are the lines 2-9 (between
servercommand (l. 2) is optional for recent versions of
nsupdate. Very old versions might need an IP address, in that case use
We require the
zonecommand (l. 3) for authorization. Your updates will be rejected, if the zone does not match the provided
Before adding new entries (
update add, ll. 5/7), you should cleanup existing records (
update delete, ll. 6/8), unless you really want to end up with multiple records.
The TSIG key must be used in the form
algo:name secret(l. 8). It must be the last entry in an update set.
nsupdate, do not use empty/blank lines to separate statements: these are interpreted as
sendcommand, and your update will likely fail. You can use
;at the beginning of a line, though (a semicolon indicates a comment and will be ignored).