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://z.labs.greyorange.com/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://z.labs.greyorange.com/api/v1/users/me/subscriptions/muted_topics \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode stream=Denmark \
    --data-urlencode topic=dinner \
    --data-urlencode op=add

Parameters

stream string optional

Example: "Denmark"

The name of the stream to access.


stream_id integer optional

Example: 43

The ID of the stream to access.


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