New: Announcing Telephony-as-a-Service — launch AI phone lines instantly. Read the announcement →
Platform Enterprise Case Studies Pricing Docs Log In Get Started

Getting Started

Welcome to the VoxAI documentation. This guide will help you integrate AI voice agents into your application using our REST API, SDK, or the visual pathway builder.

What is VoxAI?

VoxAI is an enterprise voice AI platform that lets you build, deploy, and manage AI-powered phone agents. Whether you need to handle inbound customer support, run outbound campaigns, or automate appointment scheduling — VoxAI handles it all programmatically.

Architecture Overview

  • API Layer — RESTful API for managing agents, calls, and configurations
  • Pathway Engine — Visual or code-based workflow builder for call logic
  • Voice Stack — STT → LLM → TTS pipeline with sub-500ms latency
  • Telephony Network — Global PSTN connectivity with local numbers in 50+ countries
  • Analytics — Real-time dashboards, call recordings, and performance metrics

Prerequisites

  • A VoxAI account (view pricing)
  • An API key from your dashboard settings
  • A verified phone number for outbound calls (included)

Quickstart

Make your first AI-powered call in under 2 minutes. No setup required — just plug in your API key and go.

Create an agent

bash # Create your first voice agent curl -X POST https://api.voxai.com/v1/agents \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "Support Agent", "prompt": "You are a helpful customer support agent.", "voice_id": "nova-2", "max_duration": 1800, "temperature": 0.7 }'

Make a call

bash # Place an outbound call curl -X POST https://api.voxai.com/v1/calls \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "agent_id": "agent_x7k9m2", "phone_number": "+14155551234", "context_data": { "customer_name": "Jane Smith", "appointment_date": "2026-04-08T10:00:00Z" } }'

Response

json { "id": "call_abc123def", "status": "queued", "agent_id": "agent_x7k9m2", "created_at": "2026-04-05T15:00:00Z", "metadata": {} }

API Reference

All VoxAI API endpoints follow RESTful conventions. Responses are in JSON format. The base URL is https://api.voxai.com/v1.

Authentication

Include your API key in the Authorization header as a Bearer token: Authorization: Bearer sk_live_...

Endpoints

MethodEndpointDescription
POST /v1/agents Create a new voice agent
GET /v1/agents/{id} Retrieve an agent by ID
GET /v1/agents List all agents (paginated)
POST /v1/calls Initiate an outbound call
GET /v1/calls/{id} Get call details and transcript
GET /v1/calls List calls with filters
POST /v1/recordings/{id} Retrieve call recording
POST /v1/webhooks Register a webhook endpoint
DELETE /v1/agents/{id} Delete an agent
GET /v1/analytics Get aggregated analytics data

SDKs

VoxAI provides officially maintained SDKs for the most popular programming languages. All SDKs are open-source under the MIT license.

LanguagePackageVersion
Pythonpip install voxaiVoiceAgent
JavaScript / TypeScriptnpm install @voxai/sdkVoiceAgent
Gogo get github.com/voxai/go-sdkVoiceAgent
Rubygem install voxai-rubyVoiceAgent

JavaScript Example

javascript import { VoxAI } from '@voxai/sdk'; const client = new VoxAI({ apiKey: process.env.VOXAI_API_KEY, }); const call = await client.calls.create({ agentId: 'agent_x7k9m2', phoneNumber: '+14155551234', contextData: { customerName: 'Jane Smith', }, }); console.log(call.id); // call_abc123def

Webhooks

Register webhook endpoints to receive real-time events about call status changes, completions, and errors.

Register a Webhook

bash curl -X POST https://api.voxai.com/v1/webhooks \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.com/voxai/webhooks", "events": ["call.completed", "call.failed", "agent.updated"] }'

Event Types

  • call.initiated — Call has been placed in the queue
  • call.answered — The recipient has answered
  • call.completed — Call ended normally with results
  • call.failed — Call failed (busy, no answer, invalid number)
  • agent.updated — Agent configuration was modified
  • agent.deployed — New agent version is live