MethodPathSummaryAuth
POST/v1/admin/market/plugin-downloadsDownload a plugin licence for this installation (forwarded to the market)Session
GET/v1/admin/market/plugin-libraryWhat this controller holds of each market plugin (installed, enabled, withdrawn)Session

Contract file:api/control-market-plugins.openapi.yaml

Operation details

POST /v1/admin/market/plugin-downloads

Download a plugin licence for this installation (forwarded to the market)

operationId
downloadMarketPlugin
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:marketplace.purchase

Description (from the contract)

A live licence this installation holds is returned; a free plan issues the installation's free licence (repeat calls return the same one); otherwise the market answers 402 purchase_required. Naturally idempotent, so no Idempotency-Key is required. Market errors other than 401 and 5xx are passed through.

Request body

application/json · Required:Yes

downloadMarketPlugin Request body
NameTypeRequiredDescription
plugin_idstringYes—

Responses

downloadMarketPlugin Responses
StatusDescription
200Downloadable

Fields:plugin_id: string publisher_kind: string: official / certified / third_party source: string: licensed / free license: object

400Invalid query or body (invalid_query, invalid_body)
401Authentication is required
402Market error passed through (e.g. purchase_required, not_found)
403Required marketplace permission is missing (forbidden)
404Market error passed through (e.g. purchase_required, not_found)
501The market has not mounted this entry (market_feature_unavailable)
502Market unreachable, 401 or 5xx (market_unavailable, market_response_invalid)

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 404 The resource does not exist or belongs to another tenant.

↑ Back to list

GET /v1/admin/market/plugin-library

What this controller holds of each market plugin (installed, enabled, withdrawn)

operationId
getMarketPluginLibrary
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

Any of:marketplace.browse marketplace.purchase marketplace.sell

Description (from the contract)

Installed means an installation head exists in any tenant; enabled that one is enabled; withdrawn that a materialized artifact (data pack, ui_page, provider) was withdrawn by the platform because the licence moved to another controller or ended. No query parameters are accepted.

Responses

getMarketPluginLibrary Responses
StatusDescription
200One item per plugin with local state

Fields:items: array<LibraryItem>

400Invalid query or body (invalid_query, invalid_body)
401Authentication is required
403Required marketplace permission is missing (forbidden)
500Local store failure (internal)

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.

↑ Back to list