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 organization's configuration.

POST https://agda.zulipchat.com/api/v1/realm/emoji/{emoji_name}

Usage examples

#!/usr/bin/env python3

import zulip

# 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://agda.zulipchat.com/api/v1/realm/emoji/smile \
    -F filename=@/path/to/img.png


emoji_name string required in path

Example: "smile"

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 handles emoji).

As described above, the image file to upload must be provided in the request's body.

Maximum file size

The maximum file size for uploads can be configured by the administrator of the Zulip server by setting MAX_EMOJI_FILE_SIZE_MIB in the server's settings. MAX_EMOJI_FILE_SIZE_MIB defaults to 5MB.


Example response

A typical successful JSON response may look like:

    "msg": "",
    "result": "success"