def execute(cls, **kwargs):
        url = cls._get_url()
        headers = {
            'content-type': 'text/xml',
            'SOAPAction': url,
        }
        data = cls.template.strip().format(
            AP_ID=cls.settings['AP_ID'],
            AP_PWD=cls.settings['AP_PWD'],
            Instant=cls._format_datetime(timezone.now()),
            DNSName=cls.settings['DNSName'],
            **kwargs
        )
        cert = (cls.settings['cert_path'], cls.settings['key_path'])
        # TODO: add verification
        logger.debug(
            'Executing POST request to %s with data:\n %s \nheaders: %s',
            url,
            data,
            headers,
        )
        response = requests.post(
            url,
            data=data,
            headers=headers,
            cert=cert,
            verify=cls.settings['verify_ssl'],
        )
        if response.ok:
            return cls.response_class(response.content)
        else:
            message = (
                'Failed to execute POST request against %s endpoint. Response [%s]: %s'
                % (url, response.status_code, response.content)
            )
            raise RequestError(message, response)