         @_rest.DELETE endpoint, =>
           @_wrapResponse.apply(@, [resolve, reject, originalRequest].concat(_.toArray(arguments)))
 
-  ###*
-   * @private
-   * Wrap responses and decide whether to reject or resolve the promise
-   * @param {Function} resolve The function called to resolve the promise
-   * @param {Function} reject The function called to reject the promise
-   * @param {Object} error An error object when applicable (usually from `http.ClientRequest` object) otherwise `null`
-   * @param {Object} response An `http.IncomingMessage` object containing all kind of information about the request / response
-   * @param {Object} body A JSON object containing the HTTP API resource or error messages
-  ###
+  # Private: Wrap the HTTP response and decide whether to reject or resolve the promise
+  #
+  # resolve - {Function} The function called to `resolve` the {Promise}
+  # reject - {Function} The function called to `reject` the {Promise}
+  # originalRequest - {Object} The object containing information about the request, used when the request fails
+  # error - {Object} An error object when applicable (usually from `http.ClientRequest` object) otherwise `null`
+  # response - {Object} An `http.IncomingMessage` object containing all kind of information about the request / response
+  # body - {Object} A JSON object containing the HTTP API resource or error messages
   _wrapResponse: (resolve, reject, originalRequest, error, response, body) ->
     responseJson =
       if @_stats.includeHeaders

    endpoint = @constructor.baseResourceEndpoint
    @_save(endpoint, body)

  ###*
   * Alias for {@link save}.
  ###
  create: -> @save.apply(@, arguments)

  ###*
   * Alias for {@link save}, as it's the same type of HTTP request.
   * Updating a resource is done by sending a list of {UpdateAction}.
   * (more intuitive way of describing an update, given that an [id] is provided)
   * @example `{service}.byId({id}).update({actions})`
  ###
  update: (body) ->
    throw new Error "Missing resource id. You can set it by chaining '.byId(ID)'" unless @_params.id
    unless body

        @_rest.GET endpoint, =>
          @_wrapResponse.apply(@, [resolve, reject, originalRequest].concat(_.toArray(arguments)))

  # Private: Return a {Promise} for a PAGED call. It can be overridden for custom logic.
  #
  # endpoint - {String} The resource endpoint
  #
  # Returns a {Promise}, fulfilled with an {Object} or rejected with an instance of an {Error}
  _paged: (endpoint) ->
    @_setDefaults()
    @_task.addTask =>
