docs: function WPRequest( options ) {
  	/**
  	 * Configuration options for the request
  	 *
  	 * @property _options
  	 * @type Object
  	 * @private
  	 * @default {}
  	 */
  	this._options = [
  		// Whitelisted options keys
  		'auth',
  		'endpoint',
  		'headers',
  		'username',
  		'password',
  		'nonce',
  	].reduce( ( localOptions, key ) => {
  		if ( options && options[ key ] ) {
  			localOptions[ key ] = options[ key ];
  		}
  		return localOptions;
  	}, {} );
  
  	/**
  	 * The HTTP transport methods (.get, .post, .put, .delete, .head) to use for this request
  	 *
  	 * @property transport
  	 * @type {Object}
  	 * @private
  	 */
  	this.transport = options && options.transport;
  
  	/**
  	 * A hash of query parameters
  	 * This is used to store the values for supported query parameters like ?_embed
  	 *
  	 * @property _params
  	 * @type Object
  	 * @private
  	 * @default {}
  	 */
  	this._params = {};
  
  	/**
  	 * Methods supported by this API request instance:
  	 * Individual endpoint handlers specify their own subset of supported methods
  	 *
  	 * @property _supportedMethods
  	 * @type Array
  	 * @private
  	 * @default [ 'head', 'get', 'put', 'post', 'delete' ]
  	 */
  	this._supportedMethods = [ 'head', 'get', 'put', 'post', 'delete' ];
  
  	/**
  	 * A hash of values to assemble into the API request path
  	 * (This will be overwritten by each specific endpoint handler constructor)
  	 *
  	 * @property _path
  	 * @type Object
  	 * @private
  	 * @default {}
  	 */
  	this._path = {};
  }