Developer platform · 7 / 9

How customers get, install and authorise your plugin

You provide documentation, support and service addresses; buying, confirming and authorising are done by the customer’s administrator in their own control plane. Downloaded, confirmed and enabled are three different states.

← All tutorials

What the customer does

  1. The platform administrator opens “Plugin store” (/dashboard/sys/plugin-store) and checks publisher, kind, version, price and permissions.
  2. Free plugins are fetched directly; paid ones are bought first, then fetched. The plugin then appears in the tenant’s “Plugin marketplace”.
  3. The tenant administrator reviews the permissions in “Plugin marketplace” (/dashboard/sys/plugin-market) and confirms; sensitive and new permissions are confirmed separately.
  4. Enable and configure at the place for the kind (table below), then use the target role on the real page to check saving, reloading and one real call.
KindWhere to enable in the control plane
themeThemes, /dashboard/sys/themes
rule_packRule packs, /dashboard/site/rule-packs
providerThird-party providers, /dashboard/sys/plugin-providers (the installation contract must pass first)
ui_page, external_serviceThe target tenant’s plugin marketplace list

Identity and permissions

ActionNeeds
Browse and buyPlatform administrator, marketplace.browse / marketplace.purchase
View tenant installationsA session in the target tenant with plugin_installations.read
Confirm, upgrade, disable, uninstallplugin_installations.manage; the endpoints need If-Match and Idempotency-Key

Platform and tenant identities have different scopes; a username alone does not tell you which one is active. A developer can never approve installation permissions for the customer.

Installation states

StateMeaning
pending_confirmationFetched, waiting for the tenant administrator to confirm permissions
authorized, installingConfirmed, installing
enabledEnabled and active
disabledDisabled: pages removed, calls refused, no new events
upgrade_failed_lkg_preservedUpgrade failed; the last known good version is kept
uninstalledUninstalled; authorisation revoked

A plugin in the list still needs to be confirmed, enabled and configured.