Remove subscriptions
Unsubscribe yourself or other users from one or more streams.
DELETE https://ch.uniauc.com/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']
)
print(result)
# 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((client) => {
// Unsubscribe from the stream "Denmark"
const meParams = {
subscriptions: JSON.stringify(['Denmark']),
};
client.users.me.subscriptions.remove(meParams).then(console.log);
// Unsubscribe Zoe from the stream "Denmark"
const zoeParams = {
subscriptions: JSON.stringify(['Denmark']),
principals: JSON.stringify(['ZOE@zulip.org']),
};
client.users.me.subscriptions.remove(zoeParams).then(console.log);
});
curl -sSX DELETE https://ch.uniauc.com/api/v1/users/me/subscriptions \
-u BOT_EMAIL_ADDRESS:BOT_API_KEY \
--data-urlencode subscriptions='["Verona", "Denmark"]'
You may specify the principals
argument like so:
curl -sSX DELETE https://ch.uniauc.com/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.
Arguments
Argument |
Example |
Required |
Description |
subscriptions |
["Verona","Denmark"] |
Yes |
A list of stream names to unsubscribe from. This argument is called streams in our Python API. |
principals |
["ZOE@zulip.com"] |
No |
A list of email addresses of the users that will be unsubscribed from the streams specified in the subscriptions argument. If not provided, then the requesting user/bot is unsubscribed. |
Return values
-
removed
: A list of the names of streams which were unsubscribed from as
a result of the query.
-
not_removed
: A list of the names of streams that the user is already
unsubscribed from, and hence doesn't need to be unsubscribed.
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"
}