Request Method

Adding No-IP Dynamic DNS support to your product is easy. When your update client detects an IP address change it should make an update request to our server. This page goes into detail about how to submit a dynamic dns update request.

The update protocol.

Our protocol is in an open format used by other service providers.

The open protocol has been altered by adding a few additional parameters to enhance the No-IP experience. Moving to an open format well help system integrators deploy the No-IP service in their products without having to manage different update methods. If a system already uses the open protocol a simple change of the server name is all that is needed.

Sending an Update

Dynamic updates are performed by making an http request to one of the following URLs:

http://dynupdate.no-ip.com/nic/update
- - -
https://dynupdate.no-ip.com/nic/update

base64-encoded-auth-string should be the base64 encoding of username:password. Un-encoded strings are accepted as well.

An example update request string

http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4

An example basic, raw HTTP header GET request

GET /nic/update?hostname=mytest.testdomain.com&myip=1.2.3.4 HTTP/1.0
Host: dynupdate.no-ip.com
Authorization: Basic base64-encoded-auth-string
User-Agent: Bobs Update Client WindowsXP/1.2 bob@somedomain.com
				

Important: Setting the Agent

When making an update it is important that your http request include an HTTP User-Agent to help No-IP identify different clients that access the system. Clients that do not supply a User-Agent risk being blocked from the system.

Your user agent should be in the following format

User-Agent: NameOfUpdateProgram/VersionNumber maintainercontact@domain.com

User Agent is important! It helps us identify what Update Client is accessing us. This allows us to help YOUR USERS better. It should be in the following format:

User-Agent:
(UpdateProgram)
/
(VersionNumber)
(MaintainerEmail)

For example:
Update Program: Bobs Update Client WindowsXP
Version Number: v1.2
Maintainer Email: maintainer@domain.com

Would look like:
User-Agent: Bobs Update Client WindowsXP/v1.2 maintainer@domain.com

URI Parameters

FieldDescription
username:password Required Username and password associated with the hosts that are to be updated. No-IP uses an email address as the username. Email addresses will be no longer than 50 characters.
hostname Required The hostname(s) (host.domain.com) or group(s) (group_name) to be updated .
If updating multiple hostnames or groups use a comma separated list. hostname=host1.domain.com,group1,host2.domain.com. Results are returned in the order you submitted them to the API per line.
myip Optional The IP address to which the host(s) will be set. If no IP address is supplied the WAN address connecting to our system will be used. Clients behind NAT, for example, would not need to supply an IP address
offline Optional Sets the current host to offline status. Offline settings are an Enhanced / No-IP Plus feature. When offline mode is enabled, the host will use whatever offline method is selected on the No-IP.com website for that host. Possible values are YES and NO with default of NO. If an update request is performed on an offline host, the host is removed from the offline state.

The following parameters are deprecated and are mentioned here for backwards compatibility. Submitting them will not generate errors, but will have no effect to the update.

system Unsupported This parameter is unsupported. Submitting this parameter will be ignored and will not generate errors.
mx Unsupported This parameter is unsupported. Submitting this parameter will be ignored and will not generate errors.
wildcard Unsupported This is an unsupported feature. No error will be generated if supplied. If a No-IP end user selects the wildcard options via the No-IP website for host.domain.com both host.domain.com and *.host.domain.com will be updated
backmx Unsupported This parameter is unsupported. Submitting this parameter will be ignored and will not generate errors.

Your update client should only send a request to our system when it detects an IP address change. This can be done by monitoring the local interface for IP address changes, checking for DHCP lease renewals, monitoring the routers IP WAN ip addresss, or when none of those options are available use our ip detection system.

Next you MUST interpret the response code. Update clients that do not properly respond to update return codes risk being blocked from our system.

Previous Step: IntegrateNext Step: Interpret ResponseStep 4: Get Certified