This method should throw a more-specific error if the request goes wrong or isn't the right kind of data.