Create a user group

POST https://zulip.in.tum.de/api/v1/user_groups/create

Create a new user group.

Usage examples

#!/usr/bin/env python3

import zulip

# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")

request = {
    "name": "marketing",
    "description": "The marketing team.",
    "members": user_ids,
}
result = client.create_user_group(request)
print(result)

curl -sSX POST https://zulip.in.tum.de/api/v1/user_groups/create \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode name=marketing \
    --data-urlencode 'description=The marketing team.' \
    --data-urlencode 'members=[1, 2, 3, 4]' \
    --data-urlencode can_manage_group=11 \
    --data-urlencode can_mention_group=11

Parameters

name string required

Example: "marketing"

The name of the user group.


description string required

Example: "The marketing team."

The description of the user group.


members (integer)[] required

Example: [1, 2, 3, 4]

An array containing the user IDs of the initial members for the new user group.


can_manage_group integer | object optional

Example: 11

A group-setting value defining the set of users who have permission to manage this user group.

This setting cannot be set to "role:internet" and "role:everyone" system groups.

Changes: New in Zulip 10.0 (feature level 283).

This parameter must be one of the following:

  1. The ID of the user group with this permission.

  2. An object with the following fields:

    • direct_members: (integer)[]

      The list of IDs of individual users in the collection of users with this permission.

    • direct_subgroups: (integer)[]

      The list of IDs of the groups in the collection of users with this permission.


can_mention_group integer | object optional

Example: 11

A group-setting value defining the set of users who have permission to mention this user group.

This setting cannot be set to "role:internet" and "role:owners" system groups.

Before Zulip 9.0 (feature level 258), this parameter could only be the integer form of a group-setting value.

Before Zulip 8.0 (feature level 198), this parameter was named can_mention_group_id.

New in Zulip 8.0 (feature level 191). Previously, groups could be mentioned only if they were not system groups.

This parameter must be one of the following:

  1. The ID of the user group with this permission.

  2. An object with the following fields:

    • direct_members: (integer)[]

      The list of IDs of individual users in the collection of users with this permission.

    • direct_subgroups: (integer)[]

      The list of IDs of the groups in the collection of users with this permission.


Response

Example response(s)

Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include an ignored_parameters_unsupported array.

A typical successful JSON response may look like:

{
    "msg": "",
    "result": "success"
}

An example JSON error response for when the one of the users does not exist:

{
    "code": "BAD_REQUEST",
    "msg": "Invalid user ID: 500",
    "result": "error"
}