Overview
The Plugin API enables you to extend Invenicum’s functionality through the plugin marketplace. Plugins are STAC-based extensions that can add custom UI components, data processing capabilities, and integrations to your workflow.Plugin Model
Fields
- id: Unique identifier for the plugin
- name: Display name of the plugin
- author: GitHub username of the plugin author
- version: Current installed version (semver)
- description: Plugin description
- slot: UI slot where the plugin renders (e.g.,
dashboard_top,asset_detail) - ui: STAC UI definition object
- authorAvatar: URL to author’s avatar image
- downloadCount: Number of times the plugin has been downloaded
- hasUpdate: Whether a newer version is available
- latestVersion: Latest available version in the marketplace
- isMine: Whether the current user authored this plugin
- isActive: Whether the plugin is currently enabled
- isPublic: Whether the plugin is published to the marketplace
Endpoints
Get Community Plugins
Get Installed Plugins
Preview Plugin STAC
- url (required): GitHub raw content URL to the plugin’s STAC file
Install Plugin
Uninstall Plugin
- pluginId: The ID of the plugin to uninstall
Toggle Plugin Status
Create Plugin
Update Plugin
- id: The plugin ID to update
Delete Plugin
- pluginId: The plugin ID to delete
- deleteFromGitHub (boolean): Whether to also delete the plugin repository from GitHub
SDK Methods
The Plugin SDK is built on top of the STAC framework and provides runtime parsing and execution.Initialize SDK
- userName (optional): GitHub username for personalization
Download Plugin STAC
Install Plugin
STAC Plugin Format
Plugins use the STAC (Structured Template and Action Components) format for UI definitions. Example Plugin StructureAuthentication
All plugin endpoints require a valid Bearer token in the Authorization header:Error Responses
Common Error Codes
- PLUGIN_NOT_FOUND: The requested plugin does not exist
- ALREADY_INSTALLED: Plugin is already installed
- INVALID_STAC: The STAC definition is malformed
- PERMISSION_DENIED: User does not have permission to modify this plugin
- VERSION_CONFLICT: The plugin version conflicts with an existing installation
