Groups#
Groups are used for grouping users globally but also for operations. These groups can be used in the adress book.
A valid group must have an non-empty title. If a group is assigned to an operation, all group members must also be member of the operation.
Create group#
In order to create a group, the group.create permission is needed. Creating a group is done by calling:
POST /groups
{
"title": "<group_title>",
"description": "<group_description>",
"operation": "<optional_operation_id>",
"members": [
"<id_of_member_1>",
"<id_of_member_2>",
"<id_of_member_n>"
]
}
Response:
{
"id": "<assigned_id>",
"title": "<group_title>",
"description": "<group_description>",
"operation": "<optional_operation_id>",
"members": [
"<id_of_member_1>",
"<id_of_member_2>",
"<id_of_member_n>"
]
}
Update group#
Updating a group requires the group.update permission. If provided, updating is done via:
PUT /groups/<group_id>
{
"id": "<group_id>",
"title": "<group_title>",
"description": "<group_description>",
"operation": "<optional_operation_id>",
"members": [
"<id_of_member_1>",
"<id_of_member_2>",
"<id_of_member_n>"
]
}
Delete group#
Deleting a group requires the group.delete permission and is done via:
DELETE /groups/<group_id>
Retrieve groups#
Retrieving groups requires the group.view permission. A single group can be retrieved using:
GET /groups/<group_id>
Response:
{
"id": "<group_id>",
"title": "<group_title>",
"description": "<group_description>",
"operation": "<optional_operation_id>",
"members": [
"<id_of_member_1>",
"<id_of_member_2>",
"<id_of_member_n>"
]
}
Paginated group lists can be retrieved via:
GET /groups
Entry payload:
{
"id": "<group_id>",
"title": "<group_title>",
"description": "<group_description>",
"operation": "<optional_operation_id>",
"members": [
"<id_of_member_1>",
"<id_of_member_2>",
"<id_of_member_n>"
]
}
The following fields can be used for ordering:
title
description
Additionally, query parameters can be applied in order to filter groups:
by_user=<user_id>
: Only include groups, that the user with the given id is member of.for_operation=<operation_id>
: Only include groups for the operation with the given id or ones, that do not have an operation assigned (global groups).exclude_global=true
: Exclude groups with have no operation assigned.