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 (+ increments viewCount)
  • POST .../star, .../download, .../license, .../payment-intents
  • POST /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)>

Open Explore catalog Chat plugin manifest