Skip to main content

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

SDKStatusDocumentation
Node.js / TypeScriptStableView Docs
PythonStableOverview
GoStableOverview
RustStableOverview

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

ModuleDescription
ReportsCreate report jobs and fetch completed reports
PsychometricsCreate or fetch direct psychometric trait analyses
WebhooksVerify webhook signatures
Advanced primitivesStable 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

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 under Primitives
  • 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(), and primitives()
  • 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

CapabilityNode.js SDKPython SDKGo SDKRust SDKREST API
Package@mappa-ai/conduitmappa-conduitgithub.com/mappa-ai/conduit-goconduit-rsNo package
Primary workflowsReports, psychometrics, matching, webhooksReports, psychometrics, matching, webhooksReports, psychometrics, matching, webhooksReports, psychometrics, matching, webhooksFull HTTP surface
Advanced primitivesentities, media, jobsentities, media, jobsEntities, Media, Jobsprimitives().entities/media/jobsDirect endpoint access
Local wait/stream helpersreceipt.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 siteFull walkthroughsInstall, usage, and webhook guidesHonest overview and install pathHonest overview and install pathGenerated 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

Learn more