SDKs
Official SDKs for integrating Conduit into your applications.
If you are new to Conduit, start with Quickstart first. This page is the language chooser and capability map after the canonical first-report path.
Available SDKs
| SDK | Status | Documentation |
|---|---|---|
| Node.js / TypeScript | ✅ Stable | View Docs |
| Python | ✅ Stable | Overview |
| Go | ✅ Stable | Overview |
| Rust | ✅ Stable | Overview |
Node.js / TypeScript SDK
The official Node.js SDK provides a type-safe, production-ready client for the Conduit API.
Features
- ✅ Full TypeScript support - Complete type definitions for all requests and responses
- ✅ Automatic retries - Built-in exponential backoff for transient failures
- ✅ Handle helpers - Fallback wait, stream, job, report, and cancel helpers on receipts
- ✅ Webhook verification - HMAC-SHA256 signature verification
- ✅ Production-ready - Idempotency, request tracing, and telemetry hooks
- ✅ Zero dependencies - Only one runtime dependency (cuid2 for ID generation)
Quick start
npm install @mappa-ai/conduit
import { Conduit } from "@mappa-ai/conduit";
const conduitClient = new Conduit({
apiKey: process.env.CONDUIT_API_KEY!,
});
const receipt = await conduitClient.reports.create({
source: { url: "https://example.com/recording.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/api/webhooks/conduit" },
});
console.info(receipt.jobId);
View Node.js SDK Documentation →
What's included
| Module | Description |
|---|---|
| Reports | Create report jobs and fetch completed reports |
| Psychometrics | Create or fetch direct psychometric trait analyses |
| Webhooks | Verify webhook signatures |
| Advanced primitives | Stable entities, media, and jobs building blocks under conduitClient.primitives.* |
Python SDK
The official Python SDK is available today with public install, usage, psychometrics, and webhook guidance on this site.
pip install mappa-conduit
- package name:
mappa-conduit - import surface:
conduit - runtime: Python 3.12+
- docs:
Go SDK
The official Go SDK ships today with an intentionally small stable surface for server-side integrations.
go get github.com/mappa-ai/conduit-go
- best fit: backend services, workers, CLI tools, and operator tooling written in Go
- stable path:
Reports,Psychometrics,Matching,Webhooks, plus advanced primitives underPrimitives - production model: create a job, persist the receipt, then finish on verified webhooks
- docs:
Rust SDK
The official Rust SDK ships today with the same honest scope: server-side workflows, webhook-first completion, and advanced primitives when you need lower-level control.
cargo add conduit-rs
- best fit: async Rust backends, workers, and internal tooling
- stable path:
reports(),psychometrics(),matching(),webhooks(), andprimitives() - production model: create a job, persist the receipt, then finish on verified webhooks
- docs:
SDK vs direct API
When to use an SDK
✅ Use an SDK if:
- You're using Node.js/TypeScript, Python, Go, or Rust on the server
- You want type safety and autocomplete
- You need built-in retries and error handling
- You want convenience helpers for common workflows
Example (SDK):
const receipt = await conduitClient.reports.create({
source: { url: "https://example.com/call.mp3" },
output: { template: "sales_playbook" },
target: { strategy: "dominant" },
webhook: { url: "https://your-app.com/webhooks/conduit" },
});
console.info(receipt.jobId);
When to use direct API
✅ Use the REST API directly if:
- Your language doesn't have an SDK yet
- You prefer full control over HTTP requests
- You're building a custom integration
Start here:
- Direct API workflow - Upload media, create work, complete async jobs, and migrate from removed
/v1/analyze/*routes - API reference - Endpoint-by-endpoint request and response schemas
- Webhooks - Signature verification and production delivery handling
Feature comparison
| Capability | Node.js SDK | Python SDK | Go SDK | Rust SDK | REST API |
|---|---|---|---|---|---|
| Package | @mappa-ai/conduit | mappa-conduit | github.com/mappa-ai/conduit-go | conduit-rs | No package |
| Primary workflows | Reports, psychometrics, matching, webhooks | Reports, psychometrics, matching, webhooks | Reports, psychometrics, matching, webhooks | Reports, psychometrics, matching, webhooks | Full HTTP surface |
| Advanced primitives | entities, media, jobs | entities, media, jobs | Entities, Media, Jobs | primitives().entities/media/jobs | Direct endpoint access |
| Local wait/stream helpers | ✅ receipt.handle?.wait() and stream() | ✅ receipt.handle.wait() and stream() | ✅ Handle.Wait(...) and Stream(...) | ✅ receipt.handle.wait() and stream() | ❌ Manual polling |
| Webhook verification | ✅ Built-in | ✅ Built-in | ✅ Built-in | ✅ Built-in | ❌ Manual |
| Docs coverage on this site | Full walkthroughs | Install, usage, and webhook guides | Honest overview and install path | Honest overview and install path | Generated API and workflow guides |
Migration notes
If you are moving from older REST examples or removed /v1/analyze/* routes, use Direct API workflow. That page keeps the raw HTTP migration path in one place instead of duplicating it across SDK docs.
Community SDKs
Building an SDK for another language? Let us know! We'd love to feature community-built SDKs here.
Guidelines for community SDKs:
- Follow REST API conventions
- Include webhook signature verification
- Provide type safety where applicable
- Include examples and documentation
Contact us to list your SDK.
Next steps
Get started
- Quickstart - Generate your first report in 5 minutes
- Node.js SDK Docs - Complete SDK documentation
- Python SDK Docs - Python install, usage, and webhook guides
- Go SDK Docs - Go install path and workflow guidance
- Rust SDK Docs - Rust install path and workflow guidance
- API Reference - REST API documentation
Learn more
- Core Concepts - Understand jobs, reports, and credits
- Authentication - API key security
- Production Guide - Best practices for production