def get_upload_url(self, timeout=None):
        """ Get a special URL for submitted files bigger than 32MB.

        In order to submit files bigger than 32MB you need to obtain a special upload URL to which you
        can POST files up to 200MB in size. This API generates such a URL.

        :param timeout: The amount of time in seconds the request should wait before timing out.

        :return: JSON special upload URL to which you can POST files up to 200MB in size.
        """
        params = {'apikey': self.api_key}

        try:
            response = requests.get(self.base + 'file/scan/upload_url',
                                    params=params,
                                    proxies=self.proxies,
                                    timeout=timeout)
            if response.status_code == requests.codes.ok:
                return response.json().get('upload_url')
            else:
                return dict(response_code=response.status_code)
        except requests.RequestException as e:
            return dict(error=str(e))
Get a special URL for submitted files bigger than 32MB.

        In order to submit files bigger than 32MB you need to obtain a special upload URL to which you
        can POST files up to 200MB in size. This API generates such a URL.

        :param timeout: The amount of time in seconds the request should wait before timing out.

        :return: JSON special upload URL to which you can POST files up to 200MB in size.