Update personal preferences for a topic
POST https://office.yhh.ae/api/v1/user_topics
This endpoint is used to update the personal preferences for a topic,
such as the topic's visibility policy, which is used to implement
mute a topic and related features.
This endpoint can be used to update the visibility policy for the single
stream and topic pair indicated by the parameters for a user.
Changes: New in Zulip 7.0 (feature level 170). Previously,
toggling whether a topic was muted or unmuted was managed by the
PATCH /users/me/subscriptions/muted_topics endpoint.
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 "dinner" in the stream having id 'stream_id'.
request = {
    "stream_id": stream_id,
    "topic": "dinner",
    "visibility_policy": 1,
}
result = client.call_endpoint(
    url="user_topics",
    method="POST",
    request=request,
)
# Remove mute from the topic "dinner" in the stream having id 'stream_id'.
request = {
    "stream_id": stream_id,
    "topic": "dinner",
    "visibility_policy": 0,
}
result = client.call_endpoint(
    url="user_topics",
    method="POST",
    request=request,
)
print(result)
 
curl -sSX POST https://office.yhh.ae/api/v1/user_topics \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode stream_id=1 \
    --data-urlencode topic=dinner \
    --data-urlencode visibility_policy=1
 
 
 
Parameters
    stream_id integer required  
    
        Example: 1
    
    The ID of the stream to access.
 
    topic string required  
    
        Example: "dinner"
    
    The topic for which the personal preferences needs to be updated.
Note that the request will succeed regardless of whether
any messages have been sent to the specified topic.
 
    visibility_policy integer required  
    
        Example: 1
    
    Controls which visibility policy to set.
In an unmuted stream, a topic visibility policy of unmuted will have the
same effect as the "None" visibility policy.
Must be one of: 0, 1, 2. 
 
Response
Example response(s)
Changes: As of Zulip 7.0 (feature level 167), if any
parameters sent in the request are not supported by this
endpoint, a successful JSON response will include an
ignored_parameters_unsupported array.
A typical successful JSON response may look like:
{
    "msg": "",
    "result": "success"
}