REST API & E-Tags
Reading the REST API docs, the comments on E-Tags at http://mailman.readthedocs.io/en/latest/src/mailman/rest/docs/helpers.html are problematic.
An E-Tag represents the state of a resource. The E-tag is used for conditional GET, PUT, POST (or PATCH) requests, which means that it's the SERVER, not the CLIENT which "decides if the resource has changed" based on "If-Match" or "If-None-Match" headers. You don't mention conditional requests at all.
Putting the E-Tag into the JSON is a reasonable implementation convenience, though the server should neither require nor pay attention to it in the JSON; the HTTP headers are accessible to both. Of course, if you're creating the E-Tag as a hash of the JSON, you do need to make sure that the E-Tag isn't included (and that the order of elements is stable).
Especially for modifications, you probably want to require "STRONG" validators (a defined for HTTP), not "quick and dirty"...
If I sound picky, it's because I expect a robot to be using the API, not a human. The robot will believe the API results where a human might be expected to notice a glitch.