联系客服 新闻资讯 所有频道 使用说明 芯片选型

Update subscription settings

This endpoint is used to update the user's personal settings for the streams they are subscribed to, including muting, color, pinning, and per-stream notification settings.

POST https://we.comake.online/api/v1/users/me/subscriptions/properties

Usage examples

#!/usr/bin/env python3

import zulip

# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")

# Update the user's subscription in stream #1 to pin it to the top of the
# stream list; and in stream #3 to have the hex color "f00"
request = [
    {
        "stream_id": 1,
        "property": "pin_to_top",
        "value": True,
    },
    {
        "stream_id": 3,
        "property": "color",
        "value": "#f00f00",
    },
]
result = client.update_subscription_settings(request)
print(result)

curl -sSX POST https://we.comake.online/api/v1/users/me/subscriptions/properties \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode 'subscription_data=[{"property": "pin_to_top", "stream_id": 1, "value": true}, {"property": "color", "stream_id": 3, "value": "#f00f00"}]'

Parameters

subscription_data (object)[] required

Example: [{"stream_id": 1, "property": "pin_to_top", "value": true}, {"stream_id": 3, "property": "color", "value": "#f00f00"}]

A list of objects that describe the changes that should be applied in each subscription. Each object represents a subscription, and must have a stream_id key that identifies the stream, as well as the property being modified and its new value.

The possible values for each property and value pairs are:

  • color (string): the hex value of the user's display color for the stream.
  • is_muted (boolean): whether the stream is muted. Prior to Zulip 2.1, this feature was represented by the more confusingly named in_home_view (with the opposite value, in_home_view=!is_muted); for backwards-compatibility, modern Zulip still accepts that value.
  • pin_to_top (boolean): whether to pin the stream at the top of the stream list.
  • desktop_notifications (boolean): whether to show desktop notifications for all messages sent to the stream.
  • audible_notifications (boolean): whether to play a sound notification for all messages sent to the stream.
  • push_notifications (boolean): whether to trigger a mobile push notification for all messages sent to the stream.
  • email_notifications (boolean): whether to trigger an email notification for all messages sent to the stream.

Response

Return values

  • subscription_data: (object)[] The same subscription_data array sent by the client for the request.

    • property: string The property to be changed. It is one of:

      • color: The hex value of the user's personal display color for the stream.
      • is_muted: Whether the stream is muted.
        Changes: Prior to Zulip 2.1, this feature was represented by the more confusingly named in_home_view (with the opposite value, in_home_view=!is_muted); for backwards-compatibility, modern Zulip still accepts that value.
      • pin_to_top: Whether to pin the stream at the top of the stream list.
      • desktop_notifications: Whether to show desktop notifications for all messages sent to the stream.
      • audible_notifications: Whether to play a sound notification for all messages sent to the stream.
      • push_notifications: Whether to trigger a mobile push notification for all messages sent to the stream.
      • email_notifications: Whether to trigger an email notification for all messages sent to the stream.
      • in_home_view: Whether to mute the stream (legacy property)
      • wildcard_mentions_notify: whether wildcard mentions trigger notifications as though they were personal mentions in this stream.
        A null value means the value of this setting should be inherited from the user-level default setting, wildcard_mentions_notify, for this stream.
    • value: boolean | string The desired value of the property

    • stream_id: integer The desired value of the property

Example response

A typical successful JSON response may look like:

{
    "msg": "",
    "result": "success",
    "subscription_data": [
        {
            "property": "pin_to_top",
            "stream_id": 1,
            "value": true
        },
        {
            "property": "color",
            "stream_id": 3,
            "value": "#f00f00"
        }
    ]
}