code: function request(endpoint, params, cb) {
  		debug('request', endpoint, params);
  		return r(getPath(endpoint, params))
  			.then(format)
  			.nodeify(cb);
  	}
docs: Queries the specified todoist endpoint with the specified parameters.
  For additional, information about `endpoint`s and `option`s, see
  the [Todoist API Documentation](https://todoist.com/API/help/standard#).
  @alias		module:node-todoist.request
  @param  {str}   		endpoint The Todoist endpoint to be queried.
  @param  {Object}   params   Object literal specifying the query parameters.
  @param  {Function} [cb]     Optional callback parameter. Called with `err` and `data`.
  @return {Promise|callback}  Returns a promise or invokes a callback
  @see {@link https://todoist.com/API/help/standard#|Todoist API Documentation}
  @example
  ```js
  var my_params = {
  name: "New Project",
  color: 5,
  indent: 3,
  }
  
  // promise style
  todoist.request('addProject', my_params)
  .then(function(user){
  console.log(user)
  },
  function(e) { console.error(e); });
  
  // callback style
  todoist.request('addProject', my_params), function(err,data){
  if(err){
  console.error(err);
  return;
  }
  console.log(data);
  ```