Upload custom emoji
This endpoint is used to upload a custom emoji for use in the user's
organization. Access to this endpoint depends on the
# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")
# Upload a custom emoji; assume `emoji_path` is the path to your image.
with open(emoji_path, "rb") as fp:
emoji_name = "my_custom_emoji"
result = client.call_endpoint(
curl -sSX POST https://recurse.zulipchat.com/api/v1/realm/emoji/smile \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
emoji_name string required in path
The name that should be associated with the uploaded emoji image/gif.
The emoji name can only contain letters, numbers, dashes, and spaces.
Upper and lower case letters are treated the same, and underscores (_)
are treated the same as spaces (consistent with how the Zulip UI
As described above, the image file to upload must be provided in the
Maximum file size
The maximum file size for uploads can be configured by the
administrator of the Zulip server by setting
in the server's settings.
A typical successful JSON response may look like: