zulip/templates/zerver/api/update-subscription-propert...

2.1 KiB

Update subscription properties

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 {{ api_url }}/v1/users/me/subscriptions/properties

Usage examples

  • Python
  • curl
curl -X POST {{ api_url }}/v1/users/me/subscriptions/properties \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    -d 'subscription_data=[{"stream_id": 1, \
                            "property": "pin_to_top", \
                            "value": true}, \
                           {"stream_id": 3, \
                            "property": "color", \
                            "value": 'f00'}]'

{generate_code_example(python)|/users/me/subscriptions/properties:post|example}

Arguments

{generate_api_arguments_table|zulip.yaml|/users/me/subscriptions/properties:post}

The possible values for each property and value pairs are:

  • color (string): the hex value of the user's display color for the stream.
  • in_home_view (boolean): whether the stream should be visible in the home view (true) or muted and thus hidden from the home view (false).
  • 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.

Response

Return values

  • subscription_data: The same subscription_data object sent by the client for the request, confirming the changes made.

Example response

A typical successful JSON response may look like:

{generate_code_example|/users/me/subscriptions/properties:post|fixture(200)}