Skip to content

Extensions API

The extensions API covers the full lifecycle of extension management within a workspace.

Extension Admin

Base path: /api/admin/workspaces/{workspaceId}/extensions

Install Extension

Installs an extension from the marketplace into a workspace. This triggers the full install pipeline: policy check → signature verification → compatibility check → DB provisioning → registry writes → runtime deploy → health check.

http
POST /api/admin/workspaces/{workspaceId}/extensions/install
Content-Type: application/json

Request Body

FieldTypeRequiredDescription
extensionKeystringUnique extension identifier (e.g. crm-extension)
versionstringSemantic version to install (e.g. 1.0.0)

Example

bash
curl -X POST http://localhost:8080/api/admin/workspaces/ws-uuid/extensions/install \
  -H "Content-Type: application/json" \
  -b cookies.txt \
  -d '{"extensionKey": "crm-extension", "version": "1.0.0"}'

Response 201 Created

json
{
  "code": "SUCCESS",
  "data": {
    "id": "inst-uuid-...",
    "extensionKey": "crm-extension",
    "version": "1.0.0",
    "status": "INSTALLED",
    "enabled": true,
    "error": null
  }
}

Extension Status Values

StatusDescription
INSTALLINGInstall pipeline in progress
INSTALLEDSuccessfully installed and running
FAILEDInstallation failed (see error field)
DISABLEDInstalled but disabled
UPDATINGUpdate in progress

Uninstall Extension

http
POST /api/admin/workspaces/{workspaceId}/extensions/{extensionKey}/uninstall

Response 204 No Content


Update Extension

Updates an installed extension to a new version.

http
POST /api/admin/workspaces/{workspaceId}/extensions/{extensionKey}/update
Content-Type: application/json

Request Body

FieldTypeRequiredDescription
versionstringTarget version to update to

Enable Extension

Re-enables a disabled extension.

http
POST /api/admin/workspaces/{workspaceId}/extensions/{extensionKey}/enable

Disable Extension

Disables a running extension without uninstalling it.

http
POST /api/admin/workspaces/{workspaceId}/extensions/{extensionKey}/disable

Extension Catalog

Base path: /api/catalog/workspaces/{workspaceId}/extensions

Read-only views of installed extensions and their capabilities.

List Installed Extensions

http
GET /api/catalog/workspaces/{workspaceId}/extensions

Response

json
{
  "code": "SUCCESS",
  "data": [
    {
      "extensionKey": "crm-extension",
      "version": "1.0.0",
      "status": "INSTALLED",
      "enabled": true
    }
  ]
}

Get Extension Details

http
GET /api/catalog/workspaces/{workspaceId}/extensions/{extensionKey}

Get Extension Capabilities

Lists all capabilities registered by a specific extension.

http
GET /api/catalog/workspaces/{workspaceId}/extensions/{extensionKey}/capabilities

Response

json
{
  "code": "SUCCESS",
  "data": [
    {
      "capabilityKey": "crm.product.search",
      "scope": "workspace",
      "runtimeType": "IN_PROCESS"
    }
  ]
}

Extension Configuration

Base path: /api/workspaces/{workspaceId}/extensions/{extensionKey}/config

Extensions can declare configurable settings in their manifest. Use these endpoints to read and update per-workspace configuration.

http
GET  /api/workspaces/{workspaceId}/extensions/{extensionKey}/config
POST /api/workspaces/{workspaceId}/extensions/{extensionKey}/config

MetaOne Platform Documentation