await commercial.assignSeat({
customer: "acme-corp",
subject_key: "user_123",
email: "user@acme.com",
});
await commercial.unassignSeat({
customer: "acme-corp",
subject_key: "user_123",
});Licenses#
const issued = await commercial.issueLicense({ customer: "acme-corp" });
await commercial.validateLicense({ license_key: issued.license_key });
await commercial.revokeLicense("com_lic_…");Analytics#
await commercial.analytics({ period: "30d", include_charts: true });
await commercial.analyticsCharts({ period: "30d" });Multi-currency: pass currency: "NGN" to scope money metrics. Without it, use summary.revenue.by_currency / insights.mrr_by_currency for native totals and reporting_total / mrr_reporting for the app reporting currency (FX from portal Settings). Charts expose revenue_by_currency / payments_by_currency plus a reporting series — do not sum mixed currencies.