docs: function makeRestRequest(options, callback) {
      var requestOptions = {
          method: options.verb.toUpperCase(),
          headers: {},
          json: true
      };
  
      if (options.headers) {
          requestOptions.headers = options.headers;
      }
      if (options.auth) {
          requestOptions.auth = options.auth;
      }
      if (options.data) {
          requestOptions.body = options.data;
      }
      if (options.socketPool) {
          requestOptions.pool = options.socketPool;
      }
      if (options.username && options.password) {
          requestOptions.auth = {username: options.username, password: options.password};
      }
  
      requestOptions.url = parseUrl(options.url, options);
  
      function apiCalled(response, body) {
          return parseResult(response, body, callback);
      }
  
      var retryCnt = 6;
  
      function tryClient() {
          retryCnt--;
          try {
              request[options.verb](requestOptions, function (error, response, body) {
                  if (error) {
                      if (retryCnt > 0) {
                          console.warn("retrying api call :" + retryCnt + ":" + options.verb + ":" + requestOptions.url + ":" + JSON.stringify(error));
                          setTimeout(tryClient, 5000);
                      } else {
                          console.error("Error connecting to api", error);
                          return callback('Error connecting to api:' + options.verb + ":" + requestOptions.url + ":" + JSON.stringify(error));
                      }
                  } else {
                      apiCalled(response, body);
                  }
              });
          } catch (exp) {
              if (retryCnt > 0) {
                  console.warn("retrying api call :" + retryCnt + ":" + options.verb + ":" + requestOptions.url + ":" + JSON.stringify(exp));
                  setTimeout(tryClient, 5000);
              } else {
                  console.error("Error connecting to api", exp);
                  return callback("Error connecting to api:" + options.verb + ":" + requestOptions.url + ":" + JSON.stringify(exp));
              }
          }
      }
  
      tryClient();
  }