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
Field | Description |
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