Moonborn — API · marketplace
Fork a listing (derivative clone) honoring ShareAlike + No-Derivatives clauses
`cc_by_nd` and `commercial`/`proprietary` reject. `cc_by_sa` and `cc_by_nc` enforce a `requiredForkLicense` — caller `intendedTargetLicense` must match.
POST/v1/marketplace/listings/{id}/forkscope · Bearer (API key or session JWT)
Path parameters
| Field | Type | Description |
|---|---|---|
| idreq | string | Listing id (e.g. `lst_*`). |
Request body
| Field | Type | Description |
|---|---|---|
| targetWorkspaceIdreq | string | |
| intendedTargetLicense | string · "cc_by" | "cc_by_sa" | "cc_by_nc" | "cc_by_nd" | "commercial" | "proprietary" |
Responses
201Forked
Body
| Field | Type | Description |
|---|---|---|
| forkedPersonaIdreq | string | |
| listingreq | object | |
| listing.listingIdreq | string | |
| listing.slugreq | string | |
| listing.orgIdreq | string | |
| listing.personaIdreq | string | |
| listing.titlereq | string | |
| listing.summaryreq | string | |
| listing.licensereq | string · "cc_by" | "cc_by_sa" | "cc_by_nc" | "cc_by_nd" | "commercial" | "proprietary" | |
| listing.priceUsdMicrosreq | number | |
| listing.statusreq | string · "draft" | "in_review" | "published" | "unpublished" | "removed" | |
| listing.ratingsAvgreq | number | |
| listing.ratingsCountreq | number | |
| listing.installsreq | number | |
| listing.forksreq | number | |
| listing.tagsreq | string[] | |
| listing.publishedAtreq | string | |
| listing.updatedAtreq | string | |
| enforcedTargetLicensereq | string · "cc_by" | "cc_by_sa" | "cc_by_nc" | "cc_by_nd" | "commercial" | "proprietary" |
401Unauthenticated
Body
| Field | Type | Description |
|---|---|---|
| errorreq | object | |
| error.codereq | string | |
| error.messagereq | string |
403License incompatible
Body
| Field | Type | Description |
|---|---|---|
| errorreq | object | |
| error.codereq | string | |
| error.messagereq | string |
404Listing not found / not published
Body
| Field | Type | Description |
|---|---|---|
| errorreq | object | |
| error.codereq | string | |
| error.messagereq | string |
409Listing not in published state
Body
| Field | Type | Description |
|---|---|---|
| errorreq | object | |
| error.codereq | string | |
| error.messagereq | string |
422ShareAlike: intendedTargetLicense mismatch
Body
| Field | Type | Description |
|---|---|---|
| errorreq | object | |
| error.codereq | string | |
| error.messagereq | string |
Examples
cURL
curl -X POST https://api.moonborn.co/v1/marketplace/listings/<id>/fork \
-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.forkListing({
id: '<id>',
targetWorkspaceId: "<string>",
});Python
import os
from moonborn import Moonborn
client = Moonborn(api_key=os.environ["MOONBORN_API_KEY"])
result = client.marketplace.fork_listing(
id="<id>",
target_workspace_id="<string>",
)