<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def query(cls, **kwargs):
 """ Query multiple objects. :param kwargs: The query parameters. The key is the filter parameter and the value is the value to search for. :return: The list of matching objects :raises: A `ValueError` if at least one of the supplied parameters is not in the list of allowed parameters. """

        params = dict(cls._default_filters)

        for key, value in kwargs.items():
            if key in cls._filter_parameters:
                if isinstance(value, datetime):
                    params[key] = value.strftime('%Y-%m-%dT%H:%M:%S+00:00')
                else:
                    params[key] = value
            else:
                raise ValueError('\'{}\' is not a filter parameter for class \'{}\''.format(key, cls.__name__))

        return cls._get_iter_from_url('{}/'.format(cls._endpoint), params=params)