Create a user

This endpoint is only available to organization administrators.

Create a new user account via the API.

POST https://envied-rb.zulipchat.com/api/v1/users

Usage examples

#!/usr/bin/env python

import zulip

# The user for this zuliprc file must be an organization administrator
client = zulip.Client(config_file="~/zuliprc-admin")

# Create a user
request = {
    'email': 'newbie@zulip.com',
    'password': 'temp',
    'full_name': 'New User',
}
result = client.create_user(request)
print(result)

More examples and documentation can be found here.

const Zulip = require('zulip-js');

// The user for this zuliprc file must be an organization administrator.
const config = { zuliprc: 'zuliprc-admin' };

Zulip(config).then(async (client) => {
    const params = {
        email: "notnewbie@zulip.com",
        password: "temp",
        full_name: "New User",
    };

    return await client.users.create(params);
}).then(console.log).catch(console.err);

curl -sSX POST https://envied-rb.zulipchat.com/api/v1/users \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'email=username@example.com' \
    -d 'password=abcd1234' \
    -d 'full_name=New User'

Parameters

email required

Example: username@example.com

The email address of the new user.


password required

Example: abcd1234

The password of the new user.


full_name required

Example: New User

The full name of the new user.


Response

Return values

  • user_id: The ID assigned to the newly created user.

    Changes: New in Zulip 4.0 (feature level 30).

Example response

A typical successful JSON response may look like:

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

A typical JSON response for when another user with the same email address already exists in the realm:

{
    "msg": "Email 'newbie@zulip.com' already in use",
    "result": "error"
}