zulip/templates/zerver/api/remove-subscriptions.md
Eeshan Garg a14b52ef1d api docs: Document the DELETE /users/me/subscriptions endpoint.
Note that there is currently no JavaScript method in zulip-js
to call this endpoint.
2018-01-12 07:30:38 -05:00

2.0 KiB

Remove subscriptions

Unsubscribe yourself or other users from one or more streams.

DELETE {{ api_url }}/v1/users/me/subcriptions

Arguments

{generate_api_arguments_table|arguments.json|remove-subscriptions.md}

Usage examples

  • curl
  • Python
curl -X "DELETE" {{ api_url }}/v1/users/me/subscriptions \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'subscriptions=["Denmark"]'

You may specify the principals argument like so:

curl -X "DELETE" {{ api_url }}/v1/users/me/subscriptions \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'subscriptions=["Denmark"]' \
    -d 'principals=["ZOE@zulip.com"]'

Note: Unsubscribing another user from a stream requires administrative privileges.

#!/usr/bin/env python

import zulip

# Download ~/zuliprc-dev from your dev server
client = zulip.Client(config_file="~/zuliprc-dev")

# Unsubscribe from the stream "Denmark"
print(client.remove_subscriptions(
    ['Denmark']
))

# Unsubscribe Zoe from the stream "Denmark"
print(client.remove_subscriptions(
    ['Denmark'],
    principals=['ZOE@zulip.com']
))

Return values

  • removed: A list of the names of streams which were unsubscribed from as a result of the query.

  • not_subscribed: 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:

{
    "result":"success",
    "not_subscribed":[

    ],
    "msg":"",
    "removed":[
        "Denmark"
    ]
}

A typical JSON response for when you try to unsubscribe from a stream that doesn't exist:

{
    "msg":"Stream(s) (Denmarkk) do not exist",
    "code":"BAD_REQUEST",
    "result":"error"
}

{!invalid-api-key-json-response.md!}