Skip to content

Marketplace API ​

The marketplace is the catalog of available extensions. Extensions must be published to the marketplace before they can be installed into a workspace.

Development Note

The marketplace is currently backed by MarketplaceServiceStub in development. In production, this would connect to a real registry service. The stub is the source of truth for available extensions in local development.

Browse Marketplace ​

Base path: /api/marketplace/extensions

List Extensions ​

http
GET /api/marketplace/extensions?search=crm&category=productivity

Query Parameters

ParameterRequiredDescription
search—Full-text search term
category—Filter by category

Response

json
{
  "code": "SUCCESS",
  "data": [
    {
      "extensionKey": "crm-extension",
      "name": "CRM Extension",
      "description": "Customer relationship management features",
      "category": "productivity",
      "latestVersion": "1.0.0",
      "author": "MetaOne"
    }
  ]
}

Get Extension Details ​

http
GET /api/marketplace/extensions/{extensionKey}

Response

json
{
  "code": "SUCCESS",
  "data": {
    "extensionKey": "crm-extension",
    "name": "CRM Extension",
    "description": "Full CRM capabilities including products, deals, and contacts",
    "category": "productivity",
    "latestVersion": "1.0.0",
    "versions": [
      { "version": "1.0.0", "releaseDate": "2026-01-01", "yanked": false }
    ],
    "permissions": [
      "crm.product.read",
      "crm.product.write",
      "crm.deal.read"
    ]
  }
}

Marketplace Admin ​

Base path: /api/admin/marketplace/extensions

All endpoints require ADMIN role.

Publish Extension ​

Registers a new extension in the marketplace catalog.

http
POST /api/admin/marketplace/extensions
Content-Type: application/json

Request Body (PublishExtensionRequest)

FieldTypeRequiredDescription
extensionKeystring✅Unique extension identifier
namestring✅Display name
descriptionstring—Short description
categorystring—Category tag

Response 201 Created


Update Extension Metadata ​

http
PUT /api/admin/marketplace/extensions/{extensionKey}
Content-Type: application/json

Publish Version ​

Adds a new version of an extension to the marketplace.

http
POST /api/admin/marketplace/extensions/{extensionKey}/versions
Content-Type: application/json

Request Body (PublishVersionRequest)

FieldTypeRequiredDescription
versionstring✅Semantic version (e.g. 1.1.0)
artifactUrlstring✅URL to the extension JAR artifact
manifestUrlstring—URL to the extension manifest JSON
requiresPlatformstring—Minimum platform version required
requiresSdkstring—Minimum SDK version required
changelogstring—Release notes for this version

Response 201 Created


Yank Version ​

Marks a version as unavailable (yanked). Yanked versions cannot be newly installed but existing installations are unaffected.

http
DELETE /api/admin/marketplace/extensions/{extensionKey}/versions/{version}

Response 204 No Content

MetaOne Platform Documentation