Complete extension management system for UI and server-side extensions
This API provides a complete extension management system supporting UI extensions (HTML/CSS/JS), server extensions (Go/WASM/exec), and hybrid extensions combining both.
List all installed extensions. Supports optional filtering by type and enabled status.
curl https://extensions.lms.link.blacklink.net/api/extensions?type=ui&enabled=true
Install an extension from zip file or URL
curl -X POST https://extensions.lms.link.blacklink.net/api/extensions/install \
-F "package=@extension.zip"
curl -X POST https://extensions.lms.link.blacklink.net/api/extensions/install \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/extension.zip"}'
Enable or disable an extension
curl -X POST https://extensions.lms.link.blacklink.net/api/extensions/enable \
-H "Content-Type: application/json" \
-d '{"id": "my-extension", "enabled": true}'
Remove an extension
curl -X POST https://extensions.lms.link.blacklink.net/api/extensions/remove \
-H "Content-Type: application/json" \
-d '{"id": "my-extension"}'
Update an existing extension
curl -X POST https://extensions.lms.link.blacklink.net/api/extensions/update \
-F "package=@extension-v2.zip"
Every extension must include an extension.json file:
{
"id": "my-extension",
"name": "My Extension",
"version": "1.0.0",
"description": "Description of my extension",
"author": "Your Name",
"type": "ui|server|hybrid",
"entry": "index.html",
"public_dir": "public",
"server": {
"runtime": "go|wasm|exec",
"entry": "server/extension.wasm"
},
"enabled": false
}