Consume rest endpoint removing payload's unwanted properties and falsy values
field: v for field, v in kwargs.items() if v and field in cls.fields


Feel free to break that into a multi-line comprehension.

Note that the in has linear cost w.r.t. len(cls.fields).

    """Valid fields' iterable. Override this as you need."""
    pass


Consider specifying that it shall be a set rather than just an iterable. (Also, I suppose return None would more clearly show that by default we don't return an iterable. Or consider doing an explicit raise.)