They describe how to do it with existing client software as well as, if you're tech savvy, how to do REST POST requests to do it on your own with scripts etc.
Setting up a client program on your gateway, host, or server
There are several popular dynamic DNS clients in use, such as
DDclient and INADYN. In addition most routers have software built in
to detect IP changes and communicate them with the name servers.
Note: Google Domains uses the dyndns2 protocol.
Configure your dynamic DNS client with:
Provider (or DNS or Service): The name of your DNS Provider.
Username: (or credential) the generated username in the Dynamic DNS
Password (or credential): the generated password in the Dynamic DNS
After you have created the record and configured your client
software, test it by entering the subdomain and domain into a web
browser (or appropriate client) and seeing that it connects to the
DDclient now has support for Google Domains.
DDclient with Google Domains Support
General client configuration examples:
without Google Domains support INADYN
Sample ddclient.conf entries:
Add the following to your inadyn.conf
Using the API to update your Dynamic DNS record
Dynamic DNS client software automatically updates your dynamic DNS
record. You can perform updates manually with the API by making making
a POST request (GET is also allowed) to the following url:
The API requires HTTPS. Here’s an example request:
Note: You must set a user agent in your request as well. Web browsers
will generally add this for you when testing via the above url. In any
case, the final HTTP request sent to our servers should look something
Example HTTP query:
Authorization: Basic base64-encoded-auth-string User-Agent:
Parameter Required/Optional Description
username:password Required The generated username and password
associated with the host that is to be updated.
hostname Required The hostname to be updated.
(Required if you have an IPv6 address) The IP address to which the
host will be set. If not supplied, we’ll use the IP of the agent that
sent the request.
Note: myip is required if your agent uses an IPv6 address. You can
check your agent’s IP address by going to
offline Optional Sets the current host to offline status. If an
update request is performed on an offline host, the host is removed
from the offline state.
Allowed values are
One of the following responses will be returned after the request is
Please ensure you interpret the response correctly, or you risk
having your client blocked from our system.
Response Status Description
good 126.96.36.199 Success The update was successful. Followed by a space
and the updated IP address. You should not attempt another update
until your IP address changes.
nochg 188.8.131.52 Success The supplied IP address is already set for this
host. You should not attempt another update until your IP address
nohost Error The hostname does not exist, or does not have Dynamic
badauth Error The username / password combination is not valid for
the specified host.
notfqdn Error The supplied hostname is not a valid fully-qualified
badagent Error Your Dynamic DNS client is making bad requests. Ensure
the user agent is set in the request.
abuse Error Dynamic DNS access for the hostname has been blocked due
to failure to interpret previous responses correctly.
911 Error An error happened on our end. Wait 5 minutes and retry.