code: function api_call(path, api_key, callback, params, method, headers, body) {
    var method = method || "GET";
    var headers = headers || {};
  
    var url = HEROKU_API_ENDPOINT + path;
  
    _.extend(headers, make_basic_auth_header(api_key));
    headers["Accept"] = "application/json";
  
    if (params !== undefined && params !== {}) {
      url += "?";
      url += qs.stringify(params);
    }
    var opts = {
        method: method
      , uri: url
      , headers: headers
    };
  
    if (body !== undefined
      && (method.toUpperCase() === "POST" || method.toUpperCase() === "PUT")) {
      opts.body = body;
    }
  
    console.log("Heroku API request: %j", opts);
    request(opts, callback);
  
  }
docs: /*
  api_call()
  
  Make a HTTP call to the Heroku API.
  
  <path> must start with a slash (/).
  <api_key> Heroku account API key.
  <callback> is a function which should accept error, response and body params.
  <params> is a dictionary of key/values representing the data to be sent as query params.
  <method> defaults to GET.
  <body> defaults to empty, is useful when coupled with POST method.