Overview

public. Modify an existing group

Uri Parameters
NameTypeDescription
groupidstringeither an integer group ID or "=" followed by a double uri-encoded group name
Query Parameters

None

Return Codes
NameValueDescription
BadRequest400Invalid input parameter or request body
Forbidden403Administrator access is required
NotFound404Requested group could not be found
Ok200Request completed successfully

Message Format

Input:

<group id="{int}">
    <permissions.group>
        <role>{text}</role>
    </permissions.group>
</group>

Output:

<group id="{int}" href="{uri}">  
    <name>{text}</name>   
    <service.authentication id="{int}" href="{uri}" />   
    <users count="{int}" href="{uri}" />   
    <permissions.group>  
         <operations mask="{int}">{text}</operations>   
         <role id="{int}" href="{uri}">{text}</role>   
    </permissions.group>  
</group>

Implementation Notes

Note that this feature only updates the group role.  Use PUT:groups/{groupid}/users to add and remove users from a group. 

The role name must match one of the roles defined by GET:site/roles.

Code Samples

The following code example updates group with ID 2 to have the Contributor role:

Plug p = Plug.New("http://deki-hayes/@api/deki");
p.At("users", "authenticate").WithCredentials("admin", "password").Get();
XDoc groupDoc = new XDoc("group")
    .Start("permissions.group")
        .Elem("role", "Contributor")
    .End();
p.At("groups", "2").Put(groupDoc);

Sample response indicating that the group was successfully updated:

<group id="2" href="http://deki-hayes/@api/deki/groups/2">
    <name>My Contributors Group</name> 
    <service.authentication id="1" href="http://deki-hayes/@api/deki/site/services/1" /> 
    <users count="2" href="http://deki-hayes/@api/deki/groups/2/users" /> 
    <permissions.group>
        <operations mask="1343">LOGIN,BROWSE,READ,SUBSCRIBE,UPDATE,CREATE,DELETE,CHANGEPERMISSIONS</operations> 
        <role id="4" href="http://deki-hayes/@api/deki/site/roles/4">Contributor</role> 
    </permissions.group>
</group>
Tag page
You must login to post a comment.