API · v1 · Stable

Build voice agents programmatically.

One REST API, three SDKs, sub-300 ms latency. Place AI calls, stream transcripts, and ship voice automations without rebuilding telephony.

99.9% API uptime<300ms median latencySOC 2 Type IIIndia + Global SIP
bash — tellco-cli
// Initialize Tellco SDK
import { Tellco } from "@tellco/sdk";
const tellco = new Tellco({
apiKey: process.env.TELLCO_KEY,
});
// Place a real outbound AI call
const call = await tellco.calls.create({
agent: "agent_apex_realty_v3",
to: "+91 98765 43210",
voice: "priya_hi",
});
console.log(call.id);
// → "call_8a4f7b9c-2e1d-4c5a..."
Live API

Try every endpoint without leaving the browser.

Our live Swagger UI is wired straight to the production Tellco AI API. Sign in with your tenant API key, expand any endpoint, fill in the parameters, and hit Execute. The OpenAPI spec is also available as raw JSON for SDK generation.

Quickstart · 60 seconds

From zero to your first AI call.

Three commands. One curl. A real call on the wire.

01

Install the SDK

Pick your language. We ship official packages for Node, Python, Go, Ruby, and PHP.

npm install @tellco/sdk
02

Set your API key

Generate from the dashboard. Only your server should ever see this key.

export TELLCO_KEY="sk_live_..."
03

Make your first AI call

One request. The agent dials, talks, and reports back when it's done.

await tellco.calls.create({
agent: "default",
to: "+91 98765 43210",
});
Endpoints

Every endpoint, fully typed.

12 endpoints across calls, agents, numbers, voices, and campaigns. All idempotent where it matters. All paginated where it grows.

Calls
Agents
Numbers
Voices
Campaigns
POST /v1/calls
Place an outbound AI call
{
"id": "call_8a4f7b9c-2e1d-4c5a",
"status": "queued",
"agent": "agent_apex_realty_v3",
"to": "+91 98765 43210",
"created_at": "2026-05-08T14:32:18Z",
"estimated_start": "2026-05-08T14:32:21Z",
"links": {
"self": "/v1/calls/call_8a4f7b9c-2e1d-4c5a",
"transcript": "/v1/calls/call_8a4f7b9c-2e1d-4c5a/transcript"
}
}
Rate limit: 100 req/min · Idempotent · 99.9% SLA
Works with

Pick your stack. We ship in it.

Same call, five languages. Drop into your codebase and run.

tellco · sample (Node.js)
import { Tellco } from "@tellco/sdk";
const tellco = new Tellco({ apiKey: process.env.TELLCO_KEY });
const call = await tellco.calls.create({
agent: "agent_apex_realty_v3",
to: "+91 98765 43210",
voice: "priya_hi",
});
console.log(call.id);
Webhooks · Real-time

Stream every call event into your stack.

Sub-200 ms delivery. Signed payloads. Automatic retries with exponential backoff.

call.started

Call started

Fires when an agent picks up the line.

call.ended

Call ended

Fires when the call hangs up — successful or otherwise.

call.transcript.partial

Live transcript

Streams partial transcripts every 250 ms while the call is active.

call.transcript.final

Final transcript

Full transcript with timestamps, dispatched after call.ended.

call.sentiment.detected

Sentiment shift

Fires when the AI detects a meaningful sentiment change.

agent.created

Agent created

A new AI agent has been provisioned in your workspace.

campaign.completed

Campaign completed

All calls in a bulk campaign have terminated.

number.purchased

Number provisioned

A new India-optimized phone number is ready.

Official SDKs

Five languages. Same API.

Type-safe, fully-tested, semver-versioned. All MIT-licensed and open-source.

JS

Node.js

npm install @tellco/sdk
PY

Python

pip install tellco
GO

Go

go get github.com/tellco/tellco-go
RB

Ruby

gem install tellco
PHP

PHP

composer require tellco/tellco
Errors · Honest

When something breaks, you'll know exactly why.

Every error returns a stable code, a human message, and a docs link. Retry guidance baked in.

Status
Code
Meaning
Retry?
400
invalid_request
Your payload is malformed (missing field, wrong type).
Fix the request
401
unauthorized
Bad or missing API key.
Rotate key
403
forbidden
Key valid, but the resource isn't yours.
404
not_found
Resource ID doesn't exist or has been deleted.
409
conflict
Idempotency conflict with a previous request.
Retry with new key
422
validation_error
Field validation failed (e.g., invalid phone number).
Fix data
429
rate_limited
You're sending faster than your tier allows.
Backoff
500
server_error
We broke. Sorry.
Exponential
502
bad_gateway
Upstream telco operator returned an error.
Exponential
503
service_unavailable
Brief planned/unplanned downtime.
Wait
Ready to build?

Get your API key. Place your first call in 10 minutes.

100 free minutes. No credit card. Test in production.

100 free minutesNo credit card5-min setupSOC 2 ready