Groups and roles [VC 21.3 GEN]
Manage groups and roles.
Managing groups
List all groups/roles
-
GET
/group
Returns list of all groups.
Query Parameters: -
first (integer) – Start returning groups from specified number. Default is
1
, the beginning of the list. -
number (integer) – Return at most specified number of groups. Default is no limit.
-
role (boolean) –
-
true
- Return only roles. -
false
- Return only regular groups.
Default is to return all.
New in version 4.16.
-
Produces: -
application/xml, application/json – GroupListDocument
-
text/plain – CRLF-delimited list of group URIs
Role: _group_read
-
Retrieve a group/role
-
GET
/group/
(group-name) Returns information about the specified group.
Produces: -
application/xml, application/json – GroupDocument
-
text/plain – The URI to the group.
Role: _group_read
-
Retrieve role status
-
GET
/group/
(group-name)/role
Returns the role status of the specified group.
Produces: -
text/plain – 1 if group is a role, 0 if group is a regular group
Role: _group_read
-
Create a group
-
PUT
/group/
(group-name) Creates a new group with the specified name.
Status Codes: -
200 OK – Group created.
-
409 Conflict – A group with that name already exists.
Role: _group_write
-
Update or create a group
-
PUT
/group/
(group-name) Creates or updates the group with the specified name. Also any specified parent and child associations, users, metadata and description will be added.
Query Parameters: -
clear (boolean) –
-
true
- Remove any existing groups and users not in the given document. -
false
(default) - Existing groups and users not in the request document will be kept as is.
-
Status Codes: -
200 OK – Group created.
Accepts: -
application/xml, application/json – GroupDocument
Role: _group_write
-
Delete a group
-
DELETE
/group/
(group-name) Deletes the group with the specified name.
Role: _group_write
Delete multiple groups
-
DELETE
/group
Deletes the groups with the specified names.
Query Parameters: -
name (string) – Required. Comma-separated list of group names.
Role: _group_write
-
Example
DELETE /group?name=teachers,students,guests
Search for groups
-
PUT
/group
Simple search of fields
groupname
,description
and metadata.Query Parameters: -
first (integer) – Start returning groups from specified number. Default is
1
, the beginning of the list. -
number (integer) – Return at most specified number of groups. Default is
10
. -
role (boolean) –
-
true
- Return only roles. -
false
- Return only regular groups.
Default is to return all.
-
Accepts: -
application/xml, application/json – GroupSearchDocument
Produces: -
application/xml, application/json – GroupListDocument
-
text/plain – CRLF-delimited list of group names
-
Example
PUT /group
Content-Type: application/xml
<GroupSearchDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<field>
<name>groupname</name>
<value>vidi</value>
</field>
<field>
<name>key</name>
<value>value</value>
</field>
</GroupSearchDocument>
Note that keywords groupname
and description
are reserved to do search on groupname
and description
fields
The boolean operators AND and OR are supported:
<GroupSearchDocument xmlns="http://xml.vidispine.com/schema/vidispine">
<field>
<name>groupname</name>
<value>vidi</value>
</field>
<field>
<name>description</name>
<value>vidispine</value>
</field>
<operator operation="OR">
<field>
<name>key1</name>
<value>value1</value>
</field>
<field>
<name>key2</name>
<value>value2</value>
</field>
</operator>
</GroupSearchDocument>
Group information
Retrieve the group description
-
GET
/group/
(group-name)/description
Returns the descriptive text about the specified group.
Produces: -
text/plain – Group description
Role: _group_read
-
Update the description of a group
-
PUT
/group/
(group-name)/description
Changes the description of a group.
Accepts: -
text/plain – The new description.
Role: _group_write
-
Group-to-group relations
List all parent groups to a group
-
GET
/group/
(group-name)/parents
Returns groups that the specified group belongs to.
Query Parameters: -
traverse (boolean) –
-
true
- Return all ancestors. -
false
(default) - Return only direct parents.
-
Produces: -
application/xml, application/json – GroupListDocument
-
text/plain – CRLF-delimeted list of URIs to the groups
Role: _group_read
-
List all child groups to a group
-
GET
/group/
(group-name)/children
Returns groups that belongs to the specified group.
Query Parameters: -
traverse (boolean) –
-
true
- Return all descendants. -
false
(default) - Return only direct children.
-
Produces: -
application/xml, application/json – GroupListDocument
-
text/plain – CCRLF-delimeted list of URIs to the groups
Role: _group_read
-
Add a group to another group
-
PUT
/group/
(group-name)/group/
(child-groupname) Creates parent-child relation between the two specified groups.
Role: _group_write
Remove a group from another group
-
DELETE
/group/
(group-name)/group/
(child-groupname) Removes the parent-child relation between the two specified groups.
Role: _group_write
Group-to-user relations
List all users in a group
-
GET
/group/
(group-name)/users
Returns all users belonging to the group/role, directly or indirectly.
Query Parameters: -
traverse (boolean) –
-
true
- Return all users, including users in child groups. -
false
(default) - Return only direct users.
-
Produces: -
application/xml, application/json – UserListDocument
-
text/plain – CRLF-delimeted list of Tabbed tuples of user name, user real name
Role: _group_read
-
Add a user to a group
-
PUT
/group/
(group-name)/user/
(username) Adds the specified user to the specified group.
Role: _group_write
Remove a user from a group
-
DELETE
/group/
(group-name)/user/
(username) Removes the specified user from the specified group.
Role: _group_write