Real phone calls, from your code.
Create agents, place and receive calls, and get transcripts and summaries through the API, the TypeScript SDK and webhooks. It is the same API the dashboard uses.
What you can build on it.
One REST API, an OpenAPI reference, and a TypeScript SDK generated from it.
Create and configure agents
Set the instructions, voice and phone number in code, the same way you would in the dashboard.
Place calls
Start an outbound call from your own system. Every outbound call goes through the compliance checks first.
Receive calls
Point a number at an agent and get each call, its transcript and its cost back as data.
Feed your back office
Send bookings, messages and summaries into your CRM, calendar or help desk from your own endpoint.
Same engine, one API call away.
Create agents, place calls and receive every event over webhooks. Typed SDKs for TypeScript and Python, and plain HTTP for everything else.
import { Larynth } from "@larynth/sdk";
const larynth = new Larynth();
const agent = await larynth.agents.create({
name: "Front desk",
knowledge: { website: "https://brightside.example" },
voice: "ava",
handoff: { when: "caller asks for a person" },
});
const call = await larynth.calls.create({
agentId: agent.id,
to: patient.phone,
consent: { source: "booking-form", at: consentAt },
});
for await (const event of larynth.calls.stream(call.id)) {
console.log(event.type, event.status);
}from larynth import Larynth
larynth = Larynth()
agent = larynth.agents.create(
name="Front desk",
knowledge={"website": "https://brightside.example"},
voice="ava",
handoff={"when": "caller asks for a person"},
)
call = larynth.calls.create(
agent_id=agent.id,
to=patient.phone,
consent={"source": "booking-form", "at": consent_at},
)
for event in larynth.calls.stream(call.id):
print(event.type, event.status)# Place a call with an existing agent
curl https://api.larynth.com/v1/calls \
-H "Authorization: Bearer $LARYNTH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agt_8f2c",
"to": "+14155550142",
"consent": { "source": "booking-form" }
}'
# Follow the call as server-sent events
curl -N https://api.larynth.com/v1/calls/cal_7Hq2/events \
-H "Authorization: Bearer $LARYNTH_API_KEY"Sandbox key. The number is fictional and no real call is placed.
Events come to you.
Webhooks are signed, so your endpoint can check that each one came from Larynth. The full list of events and their payloads is in the API reference.
- call.analyzed
- Sent after a call ends and has been analyzed: the summary, the outcome and any structured fields you asked for.
Start in three steps.
Authentication is by API key. The docs cover the rest.
npm i @larynth/sdk
Get an API key
Create a key in the dashboard and send it with each request. Store it somewhere safe.
Install the SDK
The TypeScript SDK is generated from the OpenAPI spec, so it follows the API.
Make a test call
New accounts get $5 of free credit for browser and inbound test calls, with no subscription.
Put Larynth on the line.
Start with $5 of free credit and no subscription. Your first agent can be answering calls today.
Talk to us means support, answered by people. Email support@larynth.com or use the chat inside the app.