Introduction

The complete voice AI platform for enterprise telephony

Levrage.AI is a no-code platform that lets you hire, train, and deploy AI voice agents for your business. Our API gives you programmatic access to create agents, make calls, run batch campaigns, and analyze results — all without building voice infrastructure from scratch.

What can you do with this API?

Create Voice Agents

Build AI agents for sales, support, collections, appointment booking, and 200+ specialized roles across 22 industries.

Make Calls

Initiate outbound calls to any phone number with your configured agent. Calls connect in seconds.

Run Campaigns

Launch batch calling campaigns with up to 2,000 contacts, automatic retries, scheduling, and blackout windows.

Analyze Results

Access call history, full transcripts, recordings, AI sentiment analysis, and structured data collection.

Platform at a Glance

Industries22 — Real Estate, Finance, Healthcare, Insurance, E-commerce, Education, Legal, and more
Agent Templates200+ pre-built agent types with industry-specific prompts
Languages9 — English, Hindi, Hinglish, Bengali, Tamil, Telugu, Kannada, Malayalam, Gujarati
AI Modelslai-premium-2 (latest) — optimized for low-latency voice conversations
Batch CampaignsUp to 2,000 contacts per campaign with concurrency control
WebhooksReal-time CALL_ENDED events with transcripts, recordings, and collected data

Base URL

https://api.levrage.ai/v1

Authentication

All API requests require a Bearer token. Include your API key in the Authorization header:

$curl -H "Authorization: Bearer lev_YOUR_API_KEY" \
> https://api.levrage.ai/v1/agents

Get your API key from Levrage.AI Studio → Settings → Developers → API Keys.

Quick Example

Create a voice agent and make a call in two API requests:

1import requests
2
3API_KEY = "lev_YOUR_API_KEY"
4BASE = "https://api.levrage.ai/v1"
5headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
6
7# 1. Create an agent
8agent = requests.post(f"{BASE}/agents", headers=headers, json={
9 "name": "My Sales Agent",
10 "agent_type": "sales",
11 "language": "English",
12 "voice": "female",
13 "start_flow": "Hello! I am calling from Acme Corp. Am I speaking with the right person?",
14 "end_flow": "Thank you for your time. Have a great day!"
15}).json()
16
17agent_id = agent["data"]["id"]
18
19# 2. Make a call
20call = requests.post(f"{BASE}/call", headers=headers, json={
21 "agent_id": agent_id,
22 "source_number": "+919240018601",
23 "phone_number": "+919876543210"
24}).json()
25
26print(f"Call initiated: {call['data']['id']}")

Response Format

All responses follow a consistent envelope:

1{
2 "success": true,
3 "data": { ... },
4 "request_id": "req_abc123",
5 "timestamp": "2025-01-01T12:00:00Z"
6}

Error responses:

1{
2 "success": false,
3 "error": {
4 "code": "validation_error",
5 "message": "Agent name is already in use"
6 },
7 "request_id": "req_abc123",
8 "timestamp": "2025-01-01T12:00:00Z"
9}

Next Steps