Skip to main content
NICE CXone Expert

Scheduled CxOne Expert Maintenance - Oct 26th 11:59 pm PT - Learn More

Expert Success Center

groups/{groupid} (PUT)

Overview

Modify an existing group

  • REST Method: PUT
  • Method Access: public

Uri Parameters

Name Type Description
groupid string either an integer group ID or "=" followed by a double uri-encoded group name

Query Parameters

Name Type Description
authenticate bool? Force authentication for request (default: false)

Return Codes

Name Value Description
OK 200 Request completed successfully
Bad Request 400 Invalid input parameter or request body
Forbidden 403 Administrator access is required
Not Found 404 Requested group could not be found

Message Format

Input:

<group id="{int}">
    <name>{text}</name>
    <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

  • This feature may be used for updating the group role and renaming the group.
  • Use Post: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.
  • External groups may not be renamed

C# Sample: Modify a Group's Role

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

Sample Code

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 from executing Code

<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>

Implementation notes 

Add notes about requirements or config values

Curl Sample: Modify a Group's Role

The following command sets a group's (group ID = 1) role to the one listed in "grouprole.xml".

Sample Code

curl -u admin:password -H "Content-Type: application/xml" -T grouprole.xml -i http://192.l68.168.110/@api/deki/groups/1

Implementation notes 

curl flags

-u
Basic HTTP authentication. Sends a username and password to server so it can verify whether a user is of privilege to perform specific operation.
-H
Adds a header or modifies an existing one. In this case, since an xml document is being sent, the content type must be set to "application/xml". The server will not accept the request otherwise.
-T file
Specifies a PUT request and XML document that contains the user data.
-i
Includes the HTTP response header in the output. Useful for debugging.

Permissions

ADMIN permission is required to execute above command. Otherwise, a 403 HTTP response (Forbidden) will be returned.

 

Example

We want to modify the role of a group (group ID = 2) created here. Here are some of the roles that are packaged with Expert: Contributer, Viewer, Guest, and Admin. The group we wish to modify has the role of "Contributer". In this example, it will be changed to "Viewer".

fabfour.xml

Content-Type: application/xml

<group>
    <permissions.group>
	<role>Viewer</role>
    </permissions.group>
</group>

Command Line

curl -u admin:password -H "Content-Type: application/xml" -T fabfourrole.xml -i http://192.168.168.110/@api/deki/groups/2

HTTP Response Headers

HTTP/1.1 200 OK
Date: Thu, 14 Jan 2010 19:48:33 GMT
Server: Dream-HTTPAPI/1.7.2.17433
X-Deki-Site: id="default"
Content-Type: application/xml; charset=utf-8
Content-Length: 449
Via: 1.1 dekiwiki

HTTP Response Body

Content-Type: application/xml

<?xml version="1.0"?>
<group id="2" href="http://192.168.168.110/@api/deki/groups/2">
  <groupname>the fab four</groupname>
  <service.authentication id="1" href="http://192.168.168.110/@api/deki/site/services/1"/>
  <users count="5" href="http://192.168.168.110/@api/deki/groups/2/users"/>
  <permissions.group>
    <operations mask="15">LOGIN,BROWSE,READ,SUBSCRIBE</operations>
    <role id="3" href="http://192.168.168.110/@api/deki/site/roles/3">Viewer</role>
  </permissions.group>
</group>

 

  • Was this article helpful?