def execute(method, path, data = nil, options = {})
      response = request(method, path, data, options)

      case response.code
      when 200..299
        response
      when 401
        raise AuthenticationFailed, response["message"]
      when 404
        raise NotFoundError, response
      else
        raise RequestError, response
      end
    end
def execute(method, path, data = nil, options = {})
      response = request(method, path, data, options)

      case response.code
      when 200..299
        response
      when 401
        raise AuthenticationFailed, response["message"]
      when 404
        raise NotFoundError, response
      else
        raise RequestError, response
      end
    end
Executes a request, validates and returns the response.

 @param  [String] method The HTTP method
 @param  [String] path The path, relative to {#base_url}
 @param  [Hash] data The body for the request
 @param  [Hash] options The query and header params for the request
 @return [HTTParty::Response]
 @raise  [RequestError]
 @raise  [NotFoundError]
 @raise  [AuthenticationFailed]
 @raise  [TwoFactorAuthenticationRequired]