Update a plugin
PATCH https://runix.chat/api/v1/armada/plugins/{install_id}
Change a plugin's settings, replace its secrets, turn it off or on, or
change where it shows and which of its tools the agent may use.
Settings are saved whole: a setting not given takes its default. A
change its process must see restarts it, and lifts a failure.
Guests and bots cannot use this endpoint.
Changes: New in Zulip 13.0 (feature level ZF-0be29a).
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/plugins/1 \
-u EMAIL_ADDRESS:API_KEY \
--data-urlencode 'settings={"manage_prefix": "nlscale-"}' \
--data-urlencode 'secrets={"prime_api_key": "pit_0123456789abcdef"}' \
--data-urlencode disabled=false \
--data-urlencode 'widget_defaults={"gpus": {"nav": "offered"}}' \
--data-urlencode 'disabled_tools=["pod_create"]'
Parameters
install_id integer required in path
Example: 1
The ID of the plugin's install.
settings object optional
Example: {"manage_prefix": "nlscale-"}
The plugin's settings, whole.
secrets object optional
Example: {"prime_api_key": "pit_0123456789abcdef"}
Secrets to set or replace, by name.
disabled boolean optional
Example: false
Whether the plugin is turned off: its process stops, and
its widgets and tools go.
Response
Return values
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": "",
"plugin": {
"bot_user_id": 31,
"date_installed": 1760605200,
"date_removed": null,
"detail": "",
"disabled": false,
"disabled_tools": [],
"id": 1,
"installed_by": 11,
"links": [
{
"id": 3,
"kind": "pool",
"stream_id": 7,
"topic": "lr-sweep",
"value": "nlscale-a"
}
],
"made_by": null,
"made_by_run_id": null,
"made_in_message_id": null,
"made_in_stream_id": null,
"made_in_topic": null,
"manifest": {
"description": "Free GPUs, and the jobs on them.",
"glyph": "gpu",
"id": "gpus",
"name": "GPUs",
"provides": {},
"requires": {
"armada": ">=1"
},
"run": {
"command": [
"uv",
"run",
"armada-gpus"
]
},
"version": "0.1.0"
},
"name": "GPUs",
"plugin": "gpus",
"secrets": [
{
"date_set": 1760605200,
"hint": "cdef",
"name": "prime_api_key",
"required": false,
"set": true,
"set_by": 11,
"title": "Prime Intellect API key"
}
],
"settings": {
"manage_prefix": "nlscale-"
},
"sha": "4e1d2c3b4a5968778695a4b3c2d1e0f9a8b7c6d5",
"source": "github.com/plugyawn/armada-gpus",
"source_kind": "github",
"source_path": "",
"source_repository_id": null,
"state": "starting",
"version": "0.1.0",
"widget_defaults": {
"gpus": {
"column": true,
"nav": "shown"
}
}
},
"result": "success"
}