Get started
Introduction
Voxa runs AI voice agents that answer and place phone calls, and it keeps a full record of every call: transcript, timeline, recording, cost and post-call analysis.
What Voxa does
You write an agent once: what it says first, how it behaves, which voice it uses, and which of your HTTP endpoints it may call. Voxa then runs every call for you.
- Outbound calls. You ask Voxa to call a number. The call waits in your workspace’s queue and is dialled when a call slot is free, inside the agent’s calling hours.
- Inbound calls. A phone number connected to an agent is answered by that agent.
- Browser calls. You talk to an agent from the console (or any WebSocket client) to test it before it calls anyone.
During a call, Voxa turns the caller’s speech into text, asks the LLM what to say, and speaks the answer back sentence by sentence. The caller can interrupt. The agent can call your APIs mid-call and hang up when the conversation is done.
The pieces
| Piece | What it is | Read |
|---|---|---|
| Workspace | Your company’s space. Agents, calls, keys, webhooks and credits all belong to one workspace and are never visible to another. | Glossary |
| Agent | One configuration: prompt, LLM, voice, transcriber, call settings, tools, analytics. Every change is saved as a version. | Agents |
| Call | One conversation, from queued to ended, with its transcript, usage, cost and recording. | The call object |
| Phone number | A Plivo number assigned to your workspace. It answers inbound calls with one agent and is the caller ID for outbound calls. | Inbound calls |
| Credits | Prepaid INR balance. Calls are billed per second. | Limits and billing |
| API key | How your code talks to Voxa. A key acts as a developer in one workspace. | Authentication |
| Webhooks | Every step of every call, posted to your server and signed. | Webhooks |
| MCP server | Lets an AI assistant build and edit agents in your workspace. | MCP server |
How a call works
caller speaks ──> transcriber (Cartesia ink-2 or Deepgram nova-3)
│ text, when the caller finishes a turn
v
LLM (Gemini) ──> your HTTP tools, end_call
│ reply, streamed
v
voice (Cartesia Sonic) ──> caller hears it, sentence by sentence
Phone calls run over Plivo. Browser calls run over a WebSocket. Call flow explains each status a call goes through.
Base URL
The public API is versioned: every endpoint is under /api/v1. Every example in these docs uses this base URL and an API key in $VOXA_API_KEY:
export VOXA_API_KEY=vx_your_key
curl https://voxa.abhinavyadav.in/api/v1/agents -H "X-API-Key: $VOXA_API_KEY"
When you run Voxa on your own machine, the API is at http://localhost:8300/api/v1. Authentication covers headers, time zones and errors.
Where to go next
- Quickstart: create a key, an agent and a call with cURL in a few minutes.
- Call flow: what happens between queued and completed.
- Agents: every setting, with its default and range.
- The call object: every field of a call record.
- Webhooks: receive call events on your server.
- API reference: every endpoint, generated from the OpenAPI document.