code: function makerequest(method, url, data, cb) {
      var rq = superagent(method, url);
  
      rq.set('User-Agent', self.agent);
      rq.set('Accept', self.version + '+json'); // always use json
  
      if (self.timeout)  { rq.timeout(self.timeout); }
      if (self.username) { rq.auth(self.username, self.password); }
      if (data) { rq.send(data); }
  
      rq.end(function(err, resp) {
        err = (resp && resp.error) || err;
        debug(method + ' ' + url + ' ' + (err || '') + '(X-RateLimit-Remaining: ' + resp.header['x-ratelimit-remaining'] + ')');
        if (err) return cb(err);
        return cb(null, resp.body);
      });
    }
docs: --//--//--//--//--//--//--//--//--//--//--//--//