def rescan_file(self, resource, date='', period='', repeat='', notify_url='', notify_changes_only='', timeout=None):
        """ Rescan a previously submitted filed or schedule an scan to be performed in the future.

        This API allows you to rescan files present in VirusTotal's file store without having to
        resubmit them, thus saving bandwidth. You only need to know one of the hashes of the file
        to rescan.

        :param resource: An md5/sha1/sha256 hash. You can also specify a CSV list made up of a
        combination of any of the three allowed hashes (up to 25 items), this allows you to perform
        a batch request with just one single call. Note that the file must already be present in our
        file store.
        :param date: (optional) Date in %Y%m%d%H%M%S format (example: 20120725170000) in which the rescan should
        be performed. If not specified the rescan will be performed immediately.
        :param period: (optional) Periodicity (in days) with which the file should be rescanned. If this argument
        is provided the file will be rescanned periodically every period days, if not, the rescan is
        performed once and not repated again.
        :param repeat: (optional) Used in conjunction with period to specify the number of times the file should be
        rescanned. If this argument is provided the file will be rescanned the given amount of times in coherence
        with the chosen periodicity, if not, the file will be rescanned indefinitely.
        :param notify_url: (optional) A URL to which a POST notification should be sent when the rescan finishes.
        :param notify_changes_only: (optional) Used in conjunction with notify_url. Indicates if POST notifications
        should only be sent if the scan results differ from the previous one.
        :param timeout: The amount of time in seconds the request should wait before timing out.

        :return: JSON response that contains scan_id and permalink.
        """
        params = {'apikey': self.api_key, 'resource': resource}

        try:
            response = requests.post(self.base + 'file/rescan', params=params, proxies=self.proxies, timeout=timeout)
        except requests.RequestException as e:
            return dict(error=str(e))

        return _return_response_and_status_code(response)
Rescan a previously submitted filed or schedule an scan to be performed in the future.

        This API allows you to rescan files present in VirusTotal's file store without having to
        resubmit them, thus saving bandwidth. You only need to know one of the hashes of the file
        to rescan.

        :param resource: An md5/sha1/sha256 hash. You can also specify a CSV list made up of a
        combination of any of the three allowed hashes (up to 25 items), this allows you to perform
        a batch request with just one single call. Note that the file must already be present in our
        file store.
        :param date: (optional) Date in %Y%m%d%H%M%S format (example: 20120725170000) in which the rescan should
        be performed. If not specified the rescan will be performed immediately.
        :param period: (optional) Periodicity (in days) with which the file should be rescanned. If this argument
        is provided the file will be rescanned periodically every period days, if not, the rescan is
        performed once and not repated again.
        :param repeat: (optional) Used in conjunction with period to specify the number of times the file should be
        rescanned. If this argument is provided the file will be rescanned the given amount of times in coherence
        with the chosen periodicity, if not, the file will be rescanned indefinitely.
        :param notify_url: (optional) A URL to which a POST notification should be sent when the rescan finishes.
        :param notify_changes_only: (optional) Used in conjunction with notify_url. Indicates if POST notifications
        should only be sent if the scan results differ from the previous one.
        :param timeout: The amount of time in seconds the request should wait before timing out.

        :return: JSON response that contains scan_id and permalink.