Dynamic DNS for developers

To develop an application with support of dynamic DNS, you need to get a username and a password in the section "Manage your account → DNS-hosting: Dynamic DNS".

Request for getting an IP address looks like this:

GET https://api.nic.ru/dyndns/checkip

Response will return HTTP code 200; response body will look like this:

Content-Type: text/html; charset=UTF-8

<html><head><title>Current IP Check</title></head><body>Current IP Address:</body></html>

Request for IP address update looks like this:

GET https://api.nic.ru/dyndns/update?hostname=myhost1.test.ru,myhost2.test.ru&myip=

Authorization: Basic <base64-encoded-string>

Alternative option:

GET https://username:password@api.nic.ru/dyndns/update?hostname=myhost1.test.ru,myhost2.test.ru&myip=

Parameters transferred in the query:

hostname - receives a list of hostnames for which IP addresses are to be assigned, separated with commas;
myip – new IPv4 address;
ipv6 – new IPv6 address.

Parameters myip and ipv6 are optional. If a request has no myip, then will be set IPv4 address from which connection was made. If a request has no ipv6, then IPv6 address will not be set.

In case of success, HTTP code 200 will be returned; response body will look like this:


good ::1

If IP address for domain myhost2.test.ru is not updated because record is absent, then response body will look like this:



In case of authentication error, HTTP code 200 will be returned; response body will look like this:


The response may also include character codes notfqdn and dnserr.

After processing of a request for IP address update, all A records of the same name will be changed in TLDs under agreement for all DNS-master services. All unsaved changes will be lost after request processing.

Всё ещё остались вопросы?