Unsubscribe from a stream
Unsubscribe yourself or other users from one or more streams.
DELETE https://zulip.dioco.io/api/v1/users/me/subscriptions
Usage examples
#!/usr/bin/env python3
import zulip
# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")
# Unsubscribe from the stream "new stream"
result = client.remove_subscriptions(
['new stream'],
)
# Unsubscribe another user from the stream "new stream"
result = client.remove_subscriptions(
['new stream'],
principals=['newbie@zulip.com'],
)
print(result)
More examples and documentation can be found here.
const Zulip = require('zulip-js');
// Pass the path to your zuliprc file here.
const config = { zuliprc: 'zuliprc' };
Zulip(config).then(async (client) => {
// Unsubscribe from the stream "Denmark"
const meParams = {
subscriptions: JSON.stringify(["Denmark"]),
};
return await client.users.me.subscriptions.remove(meParams);
}).then(console.log).catch(console.err);
Zulip(config).then(async (client) => {
const user_id = 7;
// Unsubscribe Zoe from the stream "Denmark"
const zoeParams = {
subscriptions: JSON.stringify(["Denmark"]),
principals: JSON.stringify([user_id]),
};
return await client.users.me.subscriptions.remove(zoeParams);
}).then(console.log).catch(console.err);
curl -sSX DELETE https://zulip.dioco.io/api/v1/users/me/subscriptions \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode subscriptions='["Verona", "Denmark"]'
You may specify the principals
parameter like so:
curl -sSX DELETE https://zulip.dioco.io/api/v1/users/me/subscriptions \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode subscriptions='["Verona", "Denmark"]' \
--data-urlencode principals='["ZOE@zulip.com"]'
Note: Unsubscribing another user from a stream requires
administrative privileges.
Parameters
subscriptions required
Example: ["Verona", "Denmark"]
A list of stream names to unsubscribe from. This parameter is called
streams
in our Python API.
principals optional
Example: ["ZOE@zulip.com"]
A list of user ids (preferred) or Zulip display email
addresses of the users to be subscribed to or unsubscribed
from the streams specified in the subscriptions
parameter. If
not provided, then the requesting user/bot is subscribed.
Changes: The integer format is new in Zulip 3.0 (Feature level 9).
Return values
-
not_removed
: A list of the names of streams that the user is already unsubscribed
from, and hence doesn't need to be unsubscribed.
-
removed
: A list of the names of streams which were unsubscribed from as a result
of the query.
Example response
A typical successful JSON response may look like:
{
"msg": "",
"not_removed": [],
"removed": [
"new stream"
],
"result": "success"
}
A typical failed JSON response for when the target stream does not exist:
{
"code": "STREAM_DOES_NOT_EXIST",
"msg": "Stream 'nonexistent_stream' does not exist",
"result": "error",
"stream": "nonexistent_stream"
}