Create a user

This endpoint is only available to organization administrators.

Create a new user account via the API.

POST https://dash.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',
    'short_name': 'newbie'
}
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((client) => {
    // Create a user
    const params = {
        email: 'newbie@zulip.com',
        password: 'temp',
        full_name: 'New User',
        short_name: 'newbie'
    };
    client.users.create(params).then(console.log);
});

curl -sSX POST https://dash.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' \
    -d 'short_name=newuser'

Arguments

Argument Example Required Description
email "username@example.com" Yes

The email address of the new user.

password "abcd1234" Yes

The password of the new user.

full_name "New User" Yes

The full name of the new user.

short_name "newuser" Yes

The short name of the new user. Not user-visible.

Response

Example response

A typical successful JSON response may look like:

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

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"
}