Node.js / TypeScript SDK
The stable SDK surface is intentionally small and webhook-first.
Stable surface​
conduit.reports.create(...)conduit.reports.get(...)conduit.matching.create(...)conduit.matching.get(...)conduit.webhooks.verifySignature(...)conduit.webhooks.parseEvent(...)
Advanced stable primitives​
conduit.primitives.entities.get(...)conduit.primitives.entities.list(...)conduit.primitives.entities.update(...)conduit.primitives.media.upload(...)conduit.primitives.media.get(...)conduit.primitives.media.list(...)conduit.primitives.media.delete(...)conduit.primitives.media.setRetentionLock(...)conduit.primitives.jobs.get(...)conduit.primitives.jobs.cancel(...)
List primitives use cursor pagination with a default limit of 20, a max limit of 100, and latests first ordering. Deleted media stays hidden unless you pass includeDeleted: true.
Report generation typically takes around 150s, so production flows should always prefer webhook delivery.
Quick example​
import { Conduit } from "@mappa-ai/conduit"
const conduitClient = new Conduit({ apiKey: process.env.CONDUIT_API_KEY! })
await conduitClient.reports.create({
source: { url: "https://example.com/sales-call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
})
Documentation​
Getting started​
Reliability and operations​
Legacy resources​
The pages below are kept for migration context. These resources are not part of the stable SDK surface anymore.
Matching​
Matching is part of the stable SDK surface on conduit.matching.*.