Open app
Moonborn — API · marketplace

Install a listing into the caller workspace (creates a persona clone)

License compatibility is enforced: `commercial` licenses require a completed Purchase by the caller; `proprietary` always rejects. The cloned persona is a fresh resource; subsequent edits do not flow back upstream.

POST/v1/marketplace/listings/{id}/installscope · Bearer (API key or session JWT)
Path parameters
FieldTypeDescription
idreqstringListing id (e.g. `lst_*`).
Request body
FieldTypeDescription
targetWorkspaceIdreqstring

Responses

201Installed
Body
FieldTypeDescription
installedPersonaIdreqstring
listingreqobject
listing.listingIdreqstring
listing.slugreqstring
listing.orgIdreqstring
listing.personaIdreqstring
listing.titlereqstring
listing.summaryreqstring
listing.licensereqstring · "cc_by" | "cc_by_sa" | "cc_by_nc" | "cc_by_nd" | "commercial" | "proprietary"
listing.priceUsdMicrosreqnumber
listing.statusreqstring · "draft" | "in_review" | "published" | "unpublished" | "removed"
listing.ratingsAvgreqnumber
listing.ratingsCountreqnumber
listing.installsreqnumber
listing.forksreqnumber
listing.tagsreqstring[]
listing.publishedAtreqstring
listing.updatedAtreqstring
401Unauthenticated
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
402Purchase required (commercial license)
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
403License incompatible (proprietary)
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
404Listing not found / not published
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring
409Listing not in published state
Body
FieldTypeDescription
errorreqobject
error.codereqstring
error.messagereqstring

Examples

cURL
curl -X POST https://api.moonborn.co/v1/marketplace/listings/<id>/install \
  -H "Authorization: Bearer $MOONBORN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
      "targetWorkspaceId": "<string>"
    }'
TypeScript
import Moonborn from '@moonborn/sdk';

const client = new Moonborn({ apiKey: process.env.MOONBORN_API_KEY });

const result = await client.marketplace.installListing({
  id: '<id>',
  targetWorkspaceId: "<string>",
});
Python
import os
from moonborn import Moonborn

client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])

result = client.marketplace.install_listing(
    id="<id>",
    target_workspace_id="<string>",
)