Webhooks & API

Caller AI is built with an "API-First" philosophy. This means that almost everything you can do in the dashboard—creating assistants, purchasing numbers, and triggering calls—can also be done programmatically via our REST API.

Authentication

To access the API, you need an API Key. You can generate this in your dashboard under Settings → API Keys. All requests must include this key in the Authorization header.

Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx

Core API Endpoints

Below are the most commonly used endpoints for developers integrating Caller AI into their own software.

1. Create an Outbound Call

This endpoint triggers an immediate phone call to a lead.

POST https://api.callerai.com/v1/calls

Payload
{
  "phone_number": "+15551234567",
  "assistant_id": "asst_987654321",
  "customer_details": {
    "name": "John Doe",
    "email": "john@example.com"
  }
}

2. Get Call Details

Retrieve the recording, transcript, and analysis of a completed call.

GET https://api.callerai.com/v1/calls/{call_id}

3. List Assistants

Fetch a list of all configured assistants in your workspace.

GET https://api.callerai.com/v1/assistants

Webhooks (Server Notifications)

Webhooks allow Caller AI to push data to your server in real-time when specific events occur. This is more efficient than constantly polling the API.

Setting Up a Webhook

  1. Go to Settings → Webhooks.
  2. Click Add Endpoint.
  3. Enter your server URL (e.g., `https://myserver.com/api/caller-webhook`).
  4. Select the events you want to subscribe to.

Common Webhook Events

Sample Webhook Payload (call.finished)
{
  "event": "call.finished",
  "data": {
    "call_id": "call_abc123",
    "status": "completed",
    "duration_seconds": 124,
    "cost": 0.45,
    "ended_reason": "customer-hung-up"
  }
}

Rate Limits

The standard API rate limit is 10 requests per second. If you require higher throughput for enterprise dialing, please contact support to request a limit increase.