Skip to content
This repository has been archived by the owner on Nov 28, 2017. It is now read-only.

Domains

Franklin van de Meent edited this page Feb 9, 2015 · 9 revisions

API docs: http://developer.dnsimple.com/domains/

Add a domain

var input = {domain: {name: 'two.com'}};
dnsimple ('POST', '/domains', input, function (err, data) {
  if (err) { return console.log (err); }
  console.log ('%s created with ID %s', data.domain.name, data.domain.id);
});

List domains

dnsimple ('GET', '/domains', function (err, data) {
  if (err) { return console.log (err); }
  data.forEach (function (res) {
    console.log ('%s - %s records', res.domain.name, res.domain.record_count);
  });
});

Register domain

var input {domain: {name: 'two.com'}};
dnsimple ('POST', '/domain_registrations', input, function (err, data) {
  if (err) { return console.log (err); }
  console.log ('%s is registered!', data.domain.name);
});

Delete domain

dnsimple ('DELETE', '/domains/two.com', function (err, data) {
  if (err) { return console.log (err); }
  console.log ('all good');
});

Import zone file

var fs = require ('fs');

// Read the file from Bind9
fs.readFile ('/etc/bind/db.two.com', function (err1, file) {
  if (err1) { return console.log (err1); }
  
  // Create domain
  dnsimple ('POST', '/domains', {domain: {name: 'two.com'}}, function (err2, dom) {
    if (err2) { return console.log (err2); }
    
    // Import zone
    var input = {zone_import: {zone_data: file}};
    dnsimple ('POST', '/domains/'+ dom.domain.name +'/zone_imports', input, function (err3, zone) {
      if (err3) { return console.log (err3); }
      
      // Report
      console.log (zone.zone_import);
    });
  });
});
Clone this wiki locally