Marketplace SDKs
Connect UI-UX catalog, listing detail, star/download, licenses, and publish flows to
/api/v1/marketplace/* with TypeScript, Python, and .NET clients.
API surface
GET /api/v1/marketplace/listings— catalog filters (assetType,pricingModel)GET /api/v1/marketplace/listings/{id}— detail (+ incrementsviewCount)POST .../star,.../download,.../license,.../payment-intentsPOST /api/v1/marketplace/listings+.../publish— publisher draft & publish
TypeScript / JavaScript
import { PryselMarketplaceClient } from "./sdk/ts/prysel-marketplace";
const client = new PryselMarketplaceClient({
baseUrl: "http://127.0.0.1:8000",
token: "<jwt>",
});
const listings = await client.list({ assetType: "model" });
await client.toggleStar(listings[0].id);
await client.recordDownload(listings[0].id, "ui");
Browser build used by the UI: /sdk/ts/prysel-marketplace.js
Python
pip install -e ./sdk/python
from prysel import MarketplaceClient
client = MarketplaceClient(base_url="http://127.0.0.1:8000", token="<jwt>")
print(client.list(asset_type="dataset"))
client.download(listing_id, channel="sdk")
.NET
using Prysel.Sdk;
var listings = await http.ListMarketplaceAsync(assetType: "pipeline");
await http.ToggleStarAsync(listings![0].Id);
await http.RecordDownloadAsync(listings[0].Id, channel: "sdk");
Webhooks
Listing activity emits marketplace.download, marketplace.license_grant, marketplace.star, and marketplace.publish with:
X-Prysel-Signature: sha256=<HMAC-SHA256(payload, webhookSecret)>