Dynamic DNS API
Dynamic DNS (DDNS or DynDNS) is a method of automatically updating a record
in the Domain Name System (DNS), often in real time. This is useful for
maintaining a web (or other) server on an IP address that changes. (Such
as happens with home internet service.)
The Dynamic DNS API is available with our Premium (Paid) DNS Service.
The first step is to generate a security key for our API. Each USER has their own API Key.
To Generate the key, login to the account manager and select Your User Profile from the left side menu.
Click the GENERATE_KEY button. We recomend that you COPY/PASTE the key.
Create the Host Record
The host name you wish to update dynamically must already exist.
To Update an IPv4 address, you will need an "A" record for the host.
To Update an IPv6 address, make sure you have an "AAAA" record
You can have both IPv4 records and IPv6 records for the same host/subdomain
Submitting the Request
Dynamic DNS Updates should be sent to http://accountmanager.rexx.com/dynamic.cgi
- host - The Full domain name to update
- ip - The IP Address to set. If not specified it will use the IP the request came from
- user - The Account manager Login ID
- password - The API Pass Key (NOT Your Login Password)
- Remember that we are a unix system, so user Login ID's ARE case sensitive.
- Although Dynamic Updates are instant, remember that some systems cache DNS records.
- Dynamic Updates have a TTL (Allowed Cache Time) of 3 minutes. (This takes effect AFTER the first dynamic update.)
- Submitting a DDNS updates less than 60 seconds apart is not recomended as the serial number of the domain will not change. (Causing the 2nd update to be ignored by most systems.)
Status Return (Error Codes)
The dynamic update system returns a status code when run.
HTTP Status 200 ("OK") is returned when the request was successful.
HTTP Status codes in the 400 series are returned for failed requests
A Human readable code is also returned:
Code Meaning Description OK The Request was processed and the update completed. MO_HOST Missing Operand (Host) There was no "host=" in the request MO_USER Missing Operand (User) There was no "user=" in the request MO_PWD Missing Operand (Password) There was no "password=" in the request NF_HOST Not Found (Host) The Host Record does not exist. (Returns hostname and Record Type that was searched for) NF_USR Not Found (User) The user Login ID given does not exist. (Check capitalization!) NF_KEY Not Found (API_KEY) The user specified does not have an API Key NP_USR No Permission for User The user specified does not have permission to modify/edit DNS records OS_DOMAIN Out of Service Domain Domain Given in the host can't be accessed by the user specified OD_KEY Out of Data (Key) The API_Key used was incorrect IA_ACCT Inactive Account The Account for this domain is not active
Check your IP
If you need to determine your current IP address you can use the script http://accountmanager.rexx.com/checkip.cgi to determine it. This is useful from behind a NAT router.
Most dynamic DNS clients will automatically detect when an IP has changed and only submit a request to change the IP when it has actually changed. A few do not. Also, techniques like cron do not. If you use something that cannot detect when an update is necessary, please run updates no more than once per hour.