docs: def record(self, action, props=None, path=KISSmetrics.RECORD_PATH,
                 resp=False):
          """Record event for identity with any properties.
  
          :param action: event performed
          :param props: any additional data to include
          :type props: dict
          :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
          if not props:
              props = {}
          response = self.client.record(person=self.identity, event=action,
                                        properties=props, timestamp=timestamp,
                                        path=path)
          if resp:
              return response