Topic muting

This endpoint mutes/unmutes a topic within a stream that the current user is subscribed to. Muted topics are displayed faded in the Zulip UI, and are not included in the user's unread count totals.

PATCH https://zulip.dioco.io/api/v1/users/me/subscriptions/muted_topics

Usage examples

#!/usr/bin/env python3

import zulip

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

# Mute the topic "boat party" in the stream "Denmark"
request = {
    'stream': 'Denmark',
    'topic': 'boat party',
    'op': 'add',
}
result = client.mute_topic(request)
# Unmute the topic "boat party" in the stream "Denmark"
request = {
    'stream': 'Denmark',
    'topic': 'boat party',
    'op': 'remove',
}

result = client.mute_topic(request)
print(result)

curl -sSX PATCH https://zulip.dioco.io/api/v1/users/me/subscriptions/muted_topics \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'stream=Denmark' \
    -d 'topic=dinner' \
    -d 'op=add'

Parameters

stream optional

Example: Denmark

The name of the stream to access.


stream_id optional

Example: 42

The ID of the stream to access.


topic required

Example: dinner

The topic to (un)mute. Note that the request will succeed regardless of whether any messages have been sent to the specified topic.


op required

Example: add

Whether to mute (add) or unmute (remove) the provided topic.

Must be one of: add, remove.


Response

Example response

A typical successful JSON response may look like:

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

An example JSON response for when an add operation is requested for a topic that has already been muted:

{
    "msg": "Topic already muted",
    "result": "error"
}

An example JSON response for when a remove operation is requested for a topic that had not been previously muted:

{
    "msg": "Topic is not muted",
    "result": "error"
}