List all members (people and groups) of a group in the repository.
API Explorer URL: http://localhost:8080/api-explorer/#!/groups/listGroupMemberships
See also: List Groups a Person is a Member of
To list all groups and users that are members of a group use the following GET call: http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/groups/{id}/members
The id parameter is the group identifier and it must be prefixed with GROUP_.
For example, to list all members of a group with identifier “engineering” the following call can be used:
$ curl -X GET -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/groups/GROUP_engineering/members' | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 277 0 277 0 0 893 0 --:--:-- --:--:-- --:--:-* 893 { "list": { "pagination": { "count": 2, "hasMoreItems": false, "totalItems": 2, "skipCount": 0, "maxItems": 100 }, "entries": [ { "entry": { "displayName": "System Architects", "id": "GROUP_system-architects", "memberType": "GROUP" } }, { "entry": { "displayName": "test", "id": "test", "memberType": "PERSON" } } ] } }
You can use the where parameter to filter the return groups by memberType. To return only the members that are groups use the following call:
$ curl -X GET -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' "http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/groups/GROUP_engineering/members?where=(memberType='GROUP')" | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 210 0 210 0 0 843 0 --:--:-- --:--:-- --:--:-* 843 { "list": { "pagination": { "count": 1, "hasMoreItems": false, "totalItems": 1, "skipCount": 0, "maxItems": 100 }, "entries": [ { "entry": { "displayName": "System Architects", "id": "GROUP_system-architects", "memberType": "GROUP" } } ] } }
We can use this call to return all users that are members of a specific Alfresco Share site group. First we need to figure out the group identifier and then prefix it with GROUP_. For example, there is a default site in the repository with id swsdp and we can figure out the site groups based on the site_{id}_[SiteCollaborator|SiteConsumer|SiteContributor|SiteManager] template.
So, to see all users with manager access to the site we can get all members of the site_swsdp_SiteManager group, remember to prefix with GROUP_:
$ curl -X GET -H 'Accept: application/json' -H 'Authorization: Basic VElDS0VUXzA4ZWI3ZTJlMmMxNzk2NGNhNTFmMGYzMzE4NmNjMmZjOWQ1NmQ1OTM=' 'http://localhost:8080/alfresco/api/-default-/public/alfresco/versions/1/groups/GROUP_site_swsdp_SiteManager/members' | jq % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 256 0 256 0 0 16000 0 --:--:-- --:--:-- --:--:-- 16000 { "list": { "pagination": { "count": 2, "hasMoreItems": false, "totalItems": 2, "skipCount": 0, "maxItems": 100 }, "entries": [ { "entry": { "displayName": "admin", "id": "admin", "memberType": "PERSON" } }, { "entry": { "displayName": "mjackson", "id": "mjackson", "memberType": "PERSON" } } ] } }