Get a user

Fetch details for a single user in the organization.

GET https://yourZulipDomain.zulipchat.com/api/v1/users/{user_id}

You can also fetch details on all users in the organization.

This endpoint is new in Zulip Server 2.2.

Usage examples

#!/usr/bin/env python3

import zulip

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

# Fetch details on a user given a user ID
user_id = 8
result = client.get_user_by_id(user_id)
print(result)

# If you'd like data on custom profile fields, you can request them as follows:
result = client.get_user_by_id(user_id, {'include_custom_profile_fields': True})
print(result)

curl -sSX GET -G https://yourZulipDomain.zulipchat.com/api/v1/users/11 \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY

You may pass the client_gravatar or include_custom_profile_fields query parameter as follows:

curl -sSX GET -G https://yourZulipDomain.zulipchat.com/api/v1/users/11 \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'client_gravatar=true' \
    -d 'include_custom_profile_fields=true'

Arguments

Note: The following arguments are all URL query parameters.

user_id required

Example: 11

The user id of the user.


client_gravatar optional

Example: true

The client should pass true if it can compute its own gravatar hashes. Defaults to false.


include_custom_profile_fields optional

Example: true

The client should pass true if it wants to include custom profile field data. Defaults to false.


Response

Return values

  • user: A dictionary that contains the requested user's details.
    • email: The email address of the user or bot.
    • is_bot: A boolean specifying whether the user is a bot or not.
    • avatar_url: URL to the user's gravatar. None if the client_gravatar query parameter was set to True.
    • full_name: Full name of the user or bot.
    • is_admin: A boolean specifying whether the user is an admin or not.
    • bot_type: None if the user isn't a bot. 1 for a Generic bot. 2 for an Incoming webhook bot. 3 for an Outgoing webhook bot. 4 for an Embedded bot.
    • user_id: The ID of the user.
    • bot_owner: If the user is a bot (i.e. is_bot is True), bot_owner is the email address of the user who created the bot.
    • is_active: A boolean specifying whether the user is active or not.
    • is_guest: A boolean specifying whether the user is a guest user or not.
    • timezone: The time zone of the user.

Example response

A typical successful JSON response may look like:

{
    "msg": "",
    "result": "success",
    "user": {
        "avatar_url": "https://secure.gravatar.com/avatar/6d8cad0fd00256e7b40691d27ddfd466?d=identicon&version=1",
        "bot_type": null,
        "date_joined": "2019-10-20T07:50:53.729659+00:00",
        "email": "hamlet@zulip.com",
        "full_name": "King Hamlet",
        "is_active": true,
        "is_admin": false,
        "is_bot": false,
        "is_guest": false,
        "profile_data": {
            "1": {
                "rendered_value": "<p>+0-11-23-456-7890</p>",
                "value": "+0-11-23-456-7890"
            },
            "2": {
                "rendered_value": "<p>I am:</p>\n<ul>\n<li>The prince of Denmark</li>\n<li>Nephew to the usurping Claudius</li>\n</ul>",
                "value": "I am:\n* The prince of Denmark\n* Nephew to the usurping Claudius"
            },
            "3": {
                "rendered_value": "<p>Dark chocolate</p>",
                "value": "Dark chocolate"
            },
            "4": {
                "value": "vim"
            },
            "5": {
                "value": "1900-1-1"
            },
            "6": {
                "value": "https://blog.zulig.org"
            },
            "7": {
                "value": "[11]"
            },
            "8": {
                "value": "zulipbot"
            }
        },
        "timezone": "",
        "user_id": 10
    }
}