GET /extensions
Returns the installed extensions as a JSON array, with each one's status, permissions and what it adds.
Details #
curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:48080/extensions
[{"id": "com.yourname.hello", "name": "Hello", "version": "0.1.0", "tier": "ts", "source": "dev",
"state": "installed", "status": "running", "log": "…/Logs/Extensions/com.yourname.hello.log",
"permissionRows": [{"id": "clipboard.write", "title": "Change the clipboard", "detail": "Replace what you have copied", "level": "medium"}],
"points": [{"kind": "actions", "id": "hello", "title": "Say Hello"}], "manifest": {}}]
An empty array means nothing is installed. Each entry also carries author, categories, community and description. state is installed, disabled, needsUpdate or crashed; status is what the extension is doing now (loading, running, and so on).
Parameters #
curl --unix-socket "$SWITCHBOARD_HOME/engine.sock" -X GET http://localhost/extensions
The installed extensions. The Unix socket needs no token; loopback 127.0.0.1:48080 needs Authorization: Bearer <api-token>.
Gotchas #
Over loopback every request needs
Authorization: Bearer <token>; see GET /macros.