docs: def create_event(self, type, data, **kwargs):
          """
          Create event.
  
          The **Events** API can be used to create log entries that are associated with
          specific queries. For example, you can record which documents in the results set
          were \"clicked\" by a user and when that click occured.
  
          :param str type: The event type to be created.
          :param EventData data: Query event data object.
          :param dict headers: A `dict` containing the request headers
          :return: A `DetailedResponse` containing the result, headers and HTTP status code.
          :rtype: DetailedResponse
          """
  
          if type is None:
              raise ValueError('type must be provided')
          if data is None:
              raise ValueError('data must be provided')
          data = self._convert_model(data, EventData)
  
          headers = {}
          if 'headers' in kwargs:
              headers.update(kwargs.get('headers'))
          sdk_headers = get_sdk_headers('discovery', 'V1', 'create_event')
          headers.update(sdk_headers)
  
          params = {'version': self.version}
  
          data = {'type': type, 'data': data}
  
          url = '/v1/events'
          response = self.request(
              method='POST',
              url=url,
              headers=headers,
              params=params,
              json=data,
              accept_json=True)
          return response