Set a properties provided in `data` for identity.

        :param data: key-value pairs to associate with identity
        :type data: dict
        :param path: endpoint path; defaults to ``KISSmetrics.SET_PATH``
        :param resp: indicate whether to return response
        :type resp: boolean

        :returns: an HTTP response for request if `resp=True`
        :rtype: `urllib3.response.HTTPResponse`

        :raises: Exception if either `identity` or `key` not set

def set(self, data, path=KISSmetrics.SET_PATH, resp=False):
        """Set a properties provided in `data` for identity.

        :param data: key-value pairs to associate with identity
        :type data: dict
        :param path: endpoint path; defaults to ``KISSmetrics.SET_PATH``
        :param resp: indicate whether to return response
        :type resp: boolean

        :returns: an HTTP response for request if `resp=True`
        :rtype: `urllib3.response.HTTPResponse`

        :raises: Exception if either `identity` or `key` not set

        """
        self.check_id_key()
        timestamp = None
        response = self.client.set(person=self.identity, properties=data,
                                   timestamp=timestamp, path=path)
        if resp:
            return response