> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.levrage.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.levrage.ai/_mcp/server.

# Introduction

> Build, deploy, and manage AI voice agents with the Levrage.AI API

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

|                     |                                                                                          |
| ------------------- | ---------------------------------------------------------------------------------------- |
| **Industries**      | 22 — Real Estate, Finance, Healthcare, Insurance, E-commerce, Education, Legal, and more |
| **Agent Templates** | 200+ pre-built agent types with industry-specific prompts                                |
| **Languages**       | 9 — English, Hindi, Hinglish, Bengali, Tamil, Telugu, Kannada, Malayalam, Gujarati       |
| **AI Models**       | `lai-premium-2` (latest) — optimized for low-latency voice conversations                 |
| **Batch Campaigns** | Up to 2,000 contacts per campaign with concurrency control                               |
| **Webhooks**        | Real-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`**

```bash cURL
curl -H "Authorization: Bearer lev_YOUR_API_KEY" \
     https://api.levrage.ai/v1/agents
```

**`Python`**

```python Python
import requests

headers = {"Authorization": "Bearer lev_YOUR_API_KEY"}
response = requests.get("https://api.levrage.ai/v1/agents", headers=headers)
```

**`JavaScript`**

```javascript JavaScript
const response = await fetch("https://api.levrage.ai/v1/agents", {
  headers: { "Authorization": "Bearer lev_YOUR_API_KEY" }
});
```

> **Note**
>
> Get your API key from [Levrage.AI Studio](https://studio.levrage.ai) → Settings → Developers → API Keys.

## Quick Example

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

**`Python`**

```python Python
import requests

API_KEY = "lev_YOUR_API_KEY"
BASE = "https://api.levrage.ai/v1"
headers = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

# 1. Create an agent
agent = requests.post(f"{BASE}/agents", headers=headers, json={
    "name": "My Sales Agent",
    "agent_type": "sales",
    "language": "English",
    "voice": "female",
    "start_flow": "Hello! I am calling from Acme Corp. Am I speaking with the right person?",
    "end_flow": "Thank you for your time. Have a great day!"
}).json()

agent_id = agent["data"]["id"]

# 2. Make a call
call = requests.post(f"{BASE}/call", headers=headers, json={
    "agent_id": agent_id,
    "source_number": "+919240018601",
    "phone_number": "+919876543210"
}).json()

print(f"Call initiated: {call['data']['id']}")
```

**`cURL`**

```bash cURL
# 1. Create an agent
curl -X POST https://api.levrage.ai/v1/agents \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My Sales Agent",
    "agent_type": "sales",
    "language": "English",
    "voice": "female",
    "start_flow": "Hello! I am calling from Acme Corp. Am I speaking with the right person?",
    "end_flow": "Thank you for your time. Have a great day!"
  }'

# 2. Make a call
curl -X POST https://api.levrage.ai/v1/call \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent_id": "AGENT_ID_FROM_STEP_1",
    "source_number": "+919240018601",
    "phone_number": "+919876543210"
  }'
```

**`JavaScript`**

```javascript JavaScript
const API_KEY = "lev_YOUR_API_KEY";
const BASE = "https://api.levrage.ai/v1";
const headers = { "Authorization": `Bearer ${API_KEY}`, "Content-Type": "application/json" };

// 1. Create an agent
const agent = await fetch(`${BASE}/agents`, {
  method: "POST", headers,
  body: JSON.stringify({
    name: "My Sales Agent",
    agent_type: "sales",
    language: "English",
    voice: "female",
    start_flow: "Hello! I am calling from Acme Corp. Am I speaking with the right person?",
    end_flow: "Thank you for your time. Have a great day!"
  })
}).then(r => r.json());

// 2. Make a call
const call = await fetch(`${BASE}/call`, {
  method: "POST", headers,
  body: JSON.stringify({
    agent_id: agent.data.id,
    source_number: "+919240018601",
    phone_number: "+919876543210"
  })
}).then(r => r.json());

console.log(`Call initiated: ${call.data.id}`);
```

## Response Format

All responses follow a consistent envelope:

```json
{
  "success": true,
  "data": { ... },
  "request_id": "req_abc123",
  "timestamp": "2025-01-01T12:00:00Z"
}
```

Error responses:

```json
{
  "success": false,
  "error": {
    "code": "validation_error",
    "message": "Agent name is already in use"
  },
  "request_id": "req_abc123",
  "timestamp": "2025-01-01T12:00:00Z"
}
```

## Next Steps

#### [Quickstart](/quickstart)

Make your first API call in 5 minutes

#### [Agents Guide](/guides/agents)

Deep dive into agent configuration

#### [Campaigns Guide](/guides/campaigns)

Run batch calling campaigns at scale