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.

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)