Use the set operation to change role settings.
A request XML packet that changes role settings should include the set operation node:
<packet> <role> <set> ... </set> </role> </packet>
Note: Built-in roles are not modifiable.
The set node is of type RoleSetInput (
site.xsd). This node has
the following graphics representation:
Note: The interactive schema navigator for all request packets is available here: http://plesk.github.io/api-schemas/188.8.131.52/agent_input.svg.
It specifies a filtering rule to match roles. Data type: RoleSelectionFilter (
role.xsd). To see the structure of this node, proceed to section Available Filters.
It specifies the GUID of a role owner (a customer or the Administrator). If you do not specify this node, the role owner will be the request packet sender. Data type: string. For details on how to get a customer GUID, see the Getting Information About Client Accounts section.
It specifies the settings to change. Data type: RoleValuesInput (
It specifies a collection of permissions granted to a role. Data type: RolePermissions (
role.xsd) . See the structure of this node in the Permissions Granted to Roles section.
It defines a new role name. Data type: string.
Note: When creating request packets, put nodes and elements in the order they follow in the packet structure.
The set node of the response packet is structured as follows:
Note: The interactive schema navigator for all response packets is available here: http://plesk.github.io/api-schemas/184.108.40.206/agent_output.svg.
It wraps the result of the requested operation. It can be missing if some error occurs before the validation starts. Data type: resultFilterType (
It returns the execution status of the operation. Data type: string. Allowed values: ok | error.
It is used to return the error code if the operation fails. Data type: unsignedInt.
Can be used to return an error message if the operation fails. Data type: string.
If supported, it is always present and used to return the filtering rule given in the request packet. If all roles are matched, this node contains the ID of a role. Data type: anySimple.
It is missing if the request packet fails before the validation on the server side. If the node is present, it identifies the role whose settings are updated. Data type: integer.
The following packet changes settings of a role of the customer with GUID ff5e2685-6f44-490f-bdc8-9a46fb2f0308:
<packet version="220.127.116.11"> <role> <set> <filter> <all/> </filter> <owner-guid>ff5e2685-6f44-490f-bdc8-9a46fb2f0308</owner-guid> <values> <permissions> <permission> <name>applicationsManagement</name> <value>true</value> </permission> </permissions> </values> </set> </role> </packet>
A positive response from the server can look as follows:
<packet version="18.104.22.168"> <role> <set> <result> <status>ok</status> <filter-id>34</filter-id> <id>34</id> </result> </set> </role> </packet>