Change your own view of a widget

PATCH https://runix.chat/api/v1/armada/widgets/{install_id}/{widget}/preference

Change how one of a plugin's widgets is drawn for you alone: whether it is in your nav and where, your label for it, which of its declared figures stands at rest, which rows its declared facets keep, which of its declared alerts mark your nav, and whether its list stands in your column. Only what the widget's manifest declares can be chosen. The widget's document stays the team's; a client draws your view from it and from your preferences. It also records when you first opened the widget, so that a widget new to you is drawn as new on each of your clients until you open it on one.

A field left out is not changed. Your clients get an armada_widget_preference event.

Guests and bots cannot use this endpoint.

Changes: New in Zulip 13.0 (feature level ZF-1f71ef).

Usage examples

The -u line implements HTTP Basic authentication. See the Authorization header documentation for how to get those credentials for users and bots.

curl -sSX PATCH https://runix.chat/api/v1/armada/widgets/1/gpus/preference \
    -u EMAIL_ADDRESS:API_KEY \
    --data-urlencode shown=false \
    --data-urlencode position=0 \
    --data-urlencode 'label=Free GPUs' \
    --data-urlencode rest_figure=jobs \
    --data-urlencode 'filters={"gpu": "H100"}' \
    --data-urlencode 'alerts={"free_at_least": 4}' \
    --data-urlencode in_column=false \
    --data-urlencode 'reset=["position"]' \
    --data-urlencode seen=true

Parameters

install_id integer required in path

Example: 1

The ID of the plugin's install.


widget string required in path

Example: "gpus"

The widget's key in the plugin's manifest.


shown boolean optional

Example: false

Whether the widget is in your nav, whatever the team's default.


position integer optional

Example: 0

Its place in your widget group, the smallest first, from 0 to 999.


label string optional

Example: "Free GPUs"

Your name for it, at most 24 characters; empty for its own.


rest_figure string optional

Example: "jobs"

The key of one of the widget's declared figures to show at rest; empty for its own.


filters object optional

Example: {"gpu": "H100"}

For each of the widget's declared facets to filter by, the value its rows must have; {} for every row.


alerts object optional

Example: {"free_at_least": 4}

For each of the widget's declared alerts to watch, its threshold, within the alert's bounds; {} for none.


in_column boolean optional

Example: false

Whether its list stands in your column where it is linked.


reset (string)[] optional

Example: ["position"]

Fields to put back to the team's.


seen boolean optional

Example: true

true once you have opened the widget (the first time is kept), or false to have it drawn as new to you again.


Response

Example response(s)

Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include an ignored_parameters_unsupported array.

A typical successful JSON response may look like:

{
    "msg": "",
    "result": "success"
}