Skip to content

TelVox · Connect · Docs

SDKs, helper libraries & CLI

Connect is designed to be used from a thin helper library in your language of choice, a client SDK for in-browser and mobile calling, and a telvox command-line tool. This page documents the shape of that tooling — what installing and initializing each one is intended to look like.

Planned · not yet published

None of the SDKs or the CLI below are published yet. Every package name, import path, install command and CLI invocation on this page is planned and illustrative — it shows the intended developer experience, not a release you can npm install today. Names and grammar may change before general availability. During the preview, you call the REST API directly; helper libraries follow.

Server helper libraries planned · preview

Server-side libraries are planned for Node, Python, PHP, Java, Ruby, Go and .NET. Each wraps the REST API, handles auth with your API key, and exposes the resources — calls, recordings, conferences, queues, phone numbers, webhooks, access tokens and messages — as idiomatic objects. Until they ship, the same operations are a plain HTTPS request away; see the API reference.

Install

install — planned, names preview
# planned — package not yet published
npm install telvox

Initialize & place a call

quickstart — illustrative
import { Telvox } from "telvox"; // SDK name preview

const tv = new Telvox(process.env.TELVOX_API_KEY);

const call = await tv.calls.create({
  from: "+14155550100",
  to: "+14155550199",
  answer_url: "https://your.app/voice/answer",
});

console.log(call.sid, call.status); // CA… "ringing"

Client WebRTC SDKs planned · preview

Client SDKs let a browser or mobile app place and receive calls over WebRTC. The pattern is the same everywhere: your server mints a short-lived JWT access token with a voice grant, the client consumes it, and the API secret never reaches the device. The underlying softphone — JsSIP over WebRTC with live MOS, codec and transport metrics — is real and shipped in Dial; the packaged client SDKs are planned.

client — access-token consumption, illustrative
// planned — package not yet published
// npm install @telvox/client
import { Device } from "@telvox/client"; // SDK name preview

// The token is minted server-side; the secret never reaches the client.
const token = await fetch("/api/voice-token").then((r) => r.text());

const device = new Device(token, { codecPreferences: ["opus", "pcmu"] });
await device.register();

const call = await device.connect({ to: "+14155550199" });
call.on("disconnect", () => console.log("call ended"));

The telvox CLI planned · preview

A planned command-line tool for driving the API from your terminal and CI. The grammar is telvox <resource> <verb> — the same resources as the REST API — with named login profiles so you can keep sandbox and production credentials apart. Authenticate once, select a profile, then call any resource.

telvox — planned CLI, illustrative
# planned — the telvox CLI is not yet published
# (Homebrew / npm distribution shown illustratively)
brew install telvox        # macOS / Linux
npm install -g @telvox/cli  # cross-platform

Conventions

Across every library and the CLI, credentials are read from the environment. Keep the secret server-side — for browser and mobile clients, mint an access token instead of shipping the key.

environment variables
# server-side credentials (never ship the secret to a client)
TELVOX_ACCOUNT_SID=AC…
TELVOX_API_KEY=SK…
TELVOX_API_SECRET=…
# optional: override the base URL while in preview
TELVOX_BASE_URL=https://api.telvox.dev

Building tooling or an agent against Connect? A machine-readable index of these docs lives at /connect-llms.txt, with available-today versus roadmap flags on every capability.