Update a Role (REST API: POST)

Updated

This operation updates a role.

Request

Syntax

Send the request using either XML or JSON:

  • XML

    POST <webservice>/Role/{roleId} HTTP/1.1 Host: <host name> Accept: application/xml Authtoken: <authentication token> Content-type: application/xml <update_role_template.xml>

  • JSON

    POST <webservice>/Role/{roleId} HTTP/1.1 Host: <host name> Accept: application/json Authtoken: <authentication token> Content-type: application/json <update_role_template.json>

where <webservice> is the root path used to route the API requests to the Web Server.

For more information, see Available Web Services for REST API.

Request Parameters

Name

Description

Required

roleId

The role ID for the role. If the role ID is not known, use the GET Role API to retrieve it.

Yes

Request Headers

Name

Description

Host

The host name of the Web Server or Web Console used in the API request.

Accept

The format of the response. Valid values are: application/xml or application/json.

Authtoken

The authentication token received after successfully logging on. For details on receiving an authentication token, see Authentication.

Content-type

The media type contained in the request body.

Request Body

Download the XML or JSON file required for this request: update_role_template.xml or update_role_template.json. The following table displays the parameters for the request body.

Parameter

Description and Parameter Values

Element

description

The description of the role.

roles

roleName

The name of the role.

role

disabled

Indicates whether the role is enabled or disabled.

Valid values are True/False.

flags

categoriesPermissionOperationType

The operation to perform on the permissions and the permission categories.

Valid values are:

  • ADD, to add permissions and permission categories to the role

  • OVERWRITE, to overwrite existing permissions and permission categories with new permissions and permission categories

categoriesPermission

permissionName

The name of the permission operated on by the categoriesPermissionOperationType parameter. To work with multiple permissions, add the following block in the XML file for each permission:

<categoriesPermissionList>
<permissionName>permission_name</permissionName>
</categoriesPermissionList>

For a list of valid values, see Role Security Permissions and Permitted Actions.

categoriesPermissionList

categoryName

The name of the permission category operated on by the categoriesPermissionOperationType parameter. To work with multiple categories, add the following block in the XML file for each category:

<categoriesPermissionList>
<categoryName>category_name</categoryName>
</categoriesPermissionList>

Valid values are:

Access Policies

Features

Alert

Global

Analytics

Monitoring Policy

Billing

Plan

Client

Schedule Policy

Client Group

Storage Management

CommCell

Storage Provisioning

Content Director

Subclient Policy

Custom Property

User Management

Developer Tools

VM Operations

categoriesPermissionList

exclude

Excludes an individual permission when the role includes a permission category.

For example, a role includes the entire Client permission category, but excludes the Annotation Management permission:

<categoryPermission>
<categoriesPermissionOperationType>ADD</categoriesPermissionOperationType>
<categoriesPermissionList>
<categoryName>Client</categoryName>
</categoriesPermissionList>
<categoriesPermissionList>
<flags>
<exclude>true</exclude>
</flags>
<categoryName>Client</categoryName>
<permissionName>Annotation Management</permissionName>
</categoriesPermissionList>
</categoryPermission>

flags

Response

Response Parameters

Parameter

Description

Element

errorCode

The possible error codes.

Valid values are:

  • 0, successful completion.

  • 2, a failure.

  • a specific error code.

response

errorString

The description of the error code. Not all error codes have an error string.

response

roleName

The name of the role.

entity

roleId

The system-generated ID assigned to the role.

entity

Examples

Sample Request
POST <webservice>/Role/29 HTTP/1.1
 Host: client.mydomain.com
 Accept: application/json
 Authtoken: QSDK 38568012f4d1e8ee1841d283a47aa3ba78e124ea58354b5fc6
 0f4dab8a63347d05cf5552484dafda3bfa4c5db84e580b1cb37bcf8e65b39f7f
 8549a443e6f78a2c7be3f31b3d845e24776c835e498e8e883bb40c46bd15af4f
 40ca94e823acedcdd4e9659e74b34a07a85c4586cd2ed914b6dce015874783ef7
 68fda78183a4208930954a377f66eb56c8b92cexampl4s437a19317ca6ce7f323
 3d5a01aca35dbad93468b833f2cf71010809006a937670adce711ca8be46638e8
 Content-type: application/xml
 <?xml version="1.0" encoding="UTF-8"?>
 <Security_ModifyRoleRequest>
    <roles>
       <role>
          <roleName>Trainer</roleName>
          <flags>
             <disabled>false</disabled>
          </flags>
       </role>
       <description></description>
       <categoryPermission>
          <categoriesPermissionList>
             <permissionName>Agent Management</permissionName>
          </categoriesPermissionList>
          <categoriesPermissionList>
             <permissionName>Agent Scheduling</permissionName>
          </categoriesPermissionList>
          <categoriesPermissionOperationType>OVERWRITE</categoriesPermissionOperationType>
       </categoryPermission>
    </roles>
 </Security_ModifyRoleRequest>
    
Sample Response
{ 
    "response":[ 
       { 
          "errorString":"Successful",
          "errorCode":0,
          "entity":{ 
             "roleName":"Trainer",
             "roleId":29,
          }
       }
    ]
 }