currently supported:
planned:
maybe:
# check: curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/john.doe@example.org -> '' curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/count -> 23 curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/sha256 -> d95802911a5eff4b3d757f1a20bd021c51c7d1ea418f76162cedb48a6016aa4d # add member: curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/john.doe@example.org -X POST -d '' -> '' # check again: curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/john.doe@example.org -> 'john.doe@example.org' curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/count -> 24 curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/sha256 -> 3ef60a43d296065c6e4bd0a41c9fee5c140eaa9ed91071a4c98d2347e412f227 # remove member: curl https://www.example.org/mlm-api/lists.example.org/staff/john.doe@example.org -X DELETE -> '' # check once more: curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/count -> 23 curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/john.doe@example.org -> '' curl -u adminuser https://www.example.org/mlm-api/lists.example.org/staff/*/sha256 -> d95802911a5eff4b3d757f1a20bd021c51c7d1ea418f76162cedb48a6016aa4d
Example from Debian 7/8 Apache installation with Mailman:
# mlm-api is stored as /var/www/{my.domain}/exec/mlm-api
touch /etc/sudoers.d/mlm-api
visudo -f /etc/sudoers.d/mlm-api
www-data ALL=(list:ALL) NOPASSWD: /usr/sbin/list_members
www-data ALL=(list:ALL) NOPASSWD: /usr/sbin/add_members
www-data ALL=(list:ALL) NOPASSWD: /usr/sbin/remove_members
touch /var/www/{my.domain}/auth/htpasswd-mlm-api
htpasswd /var/www/{my.domain}/auth/htpasswd-mlm-api {user1}
htpasswd /var/www/{my.domain}/auth/htpasswd-mlm-api {user2}
/etc/apache/sites-available/{my.domain}.conf
ScriptAlias /mlm-api /var/www/{my.domain}/exec/mlm-api
<location /mlm-api >
AuthType Basic
AuthName mlm-api
AuthUserFile /var/www/{my.domain}/auth/htpasswd-mlm-api
require valid-user
</location>
/etc/init.d/apache2 reload