docs: def _validate_data(data):
      """Validates the given data and raises an error if any non-allowed keys are
      provided or any required keys are missing.
  
      :param data: Data to send to API
      :type data: dict
      """
      data_keys = set(data.keys())
      extra_keys = data_keys - set(ALLOWED_KEYS)
      missing_keys = set(REQUIRED_KEYS) - data_keys
  
      if extra_keys:
          raise ValueError(
              'Invalid data keys {!r}'.format(', '.join(extra_keys))
          )
  
      if missing_keys:
          raise ValueError(
              'Missing keys {!r}'.format(', '.join(missing_keys))
          )