There are three methods available for bulk loading multiple dns records. Two methods are accessed from within the control panel. The remaining method is accessed through an exposed dns management application programming interface(API).
Users should be familiar with the manual control panel interface before startting to use batch input facilities.
comma separated value text files
DNS records may be added to an existing domain using CSV text files. The input page is accessed by clicking the [batch] link next the domain name.
The input page displays a text input box. The user can paste the contents of a csv formated text file into the text box and click the button to add the records to the domain.
If no errors are found, the records are added immediately and queued for immediate publication to the front end servers.
example csv format
The format consists of 4 comma separated values per line. The values are: record type, ttl, name, and data. Each line is separated by a carriage return and linefeed pair.
MX,86400,example.com,10:example.com TXT,86400,example.com,v=spf1 a mx -all A,86400,example.com,10.0.1.5 CNAME,86400,ftp.example.com,example.com CNAME,86400,www.example.com,example.com
Any errors in the included commands will cause a diagnostics display to appear. In the event of an input error, no records specified in the batch are added.
bind format zone files
The bind zone file facility is part of the csv text file facility. Any bind zone file can be used in place of a csv text file. When the user clicks on the button, the contents of the text box are converted to csv format. The csv format result is then displayed to the user for final confirmation before loading.
http dns records api
The dns records api is accessed via post operations over the http protocol. Access is protected by enforcing http digest authentication based on MD5 digests. The security advantage of digest authentication is that user passwords are never passed over the wire. This advantage is further leveraged by rate limiting authentication attempts. Three failed attempts will cause further attempts to be ignored for 30 minutes.
One command line tool known to be capable of satisfying the requirements is wget available from gnu.
The post operation must contain the following variables:
The format of all command lines is the same except for tld and pub. The contents of each csv line are: command, record type, ttl, domain, name, data. In the case of tld and pub, the lines contain: command, domain. Each line must be separated by a carriage return and linefeed.
tld,example.com add,A,3600,example.com,example.com,192.168.1.1 add,CNAME,3600,example.com,www.example.com,example.com add,MX,3600,example.com,example.com,50:example.com add,TXT,3600,example.com,example.com,v=spf1 a mx -all del,CNAME,3600,example.com,www.example.com,example.com s=1,CNAME,3600,example.com,www.example.com,example.com s=0,CNAME,3600,example.com,www.example.com,example.com pub,example.com
If there are no errors, the http result code is 200 and the text returned is "ok".
If errors are found, the complete batch is rejected, and the http result code is 500. The text returned will include diagnostics for each bad line.
The available endpoints are echo.htm which parses and scans inputs, and edit.htm which will fully process api calls as detailed above.
In addition, test.htm is available as a sample input file that you can save locally. The source code will show users what the equivalent form would be for an interactive page.
Please contact support for the full url for accessing these http api facilities.