HomeFeaturesUse CasesBlogsDocs
VoiceX API

API Documentation

Everything you need to integrate VoiceX AI calling into your CRM or backend — Make Call, cancellation, and real-time webhooks.

Initiate outbound AI calls & manage scheduled calls

Make Call API

Overview

The Make Call API allows you to initiate outbound calls with your AI agent. The API accepts HTTP POST requests with Content-Type: application/json and returns call initiation status and call details.

Endpoint

https://api-crm-voicex.xtremegenai.com/api/make_call

Method

POST

Content-Type

application/json

Authentication

The API uses Basic Authentication with Base64-encoded credentials. Your production credentials will be provided separately by our team.

Authorization Header
http
Authorization: Basic ********************
Your authentication credentials will be provided separately for production use.

Parameters

Core Fields (Required)

FieldTypeRequiredDescription
callToString✅ RequiredDestination phone number (E.164 format recommended) with country code attached e.g. "+91"
businessIdString✅ RequiredYour business identifier (provided by us)
campaignIdString✅ RequiredCampaign identifier (provided by us)
custom_fieldObject✅ RequiredCustom data for the AI agent and call tracking (see below)

Optional Fields

FieldTypeRequiredDescription
agentIdString⚪ OptionalSpecific agent identifier. If not provided, the default agent will be used.
callInitTimeISO-8601 format⚪ OptionalSchedule the call for a specific time (not instant). If not provided, call will be scheduled with an instant time.
callFromString⚪ OptionalOutbound caller ID / virtual number (E.164, e.g. +912265197337). Use only if we assign you a number. If omitted, our default dialer number is used.

Custom Fields

The custom_field object is where you define any data the AI agent will use to personalise the conversation, qualify leads, and track CRM records.

✨

Complete Flexibility

Add any fields relevant to your business

🤖

AI-Powered Conversations

The AI uses this data to personalise each call

📊

CRM Integration

Fields help you identify and track calls in your system

⚡

Dynamic Content

AI adapts its conversation based on the provided information

Example Custom Fields by Industry

custom_field
json
"custom_field": {
  "lead_name": "John Smith",
  "property_interest": "2BHK Apartment",
  "budget_range": "50L-80L",
  "preferred_location": "Bandra West",
  "lead_source": "Website Form",
  "follow_up_reason": "Property Viewing Request"
}

Sample Requests

1

Basic Call Request

Minimal request to initiate an outbound call immediately.

bash
curl --location 'https://api-crm-voicex.xtremegenai.com/api/make_call' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ********************' \
--data '{
  "custom_field": {
    "Name": "****",
    "contact_number": "97653XXXXX",
    "full_name": "****",
    "lead_id": "92180864-1df9-XXXX-XXXX-XXXXXXXXXXXX",
    "preferred_language": "****",
    "venue_address": "****",
    "Income": "****"
  },
  "callTo": "+9197653XXXXX",
  "businessId": "67bde3bcXXXXXXXXXXXXXXX",
  "campaignId": "68338841d5XXXXXXXXXXXXXX"
}'
2

With Specific Agent

Route the call through a specific AI agent using agentId.

bash
curl --location 'https://api-crm-voicex.xtremegenai.com/api/make_call' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ********************' \
--data '{
  "custom_field": {
    "lead_name": "Anjali Gupta",
    "product_interest": "Insurance Policy",
    "age": "35",
    "annual_income": "12L",
    "family_members": "4",
    "lead_score": "Hot",
    "previous_interaction": "Email Campaign"
  },
  "callTo": "+919876543210",
  "businessId": "67bde3bca22e760a3726b488",
  "campaignId": "68338841d569396f8bbd023a",
  "agentId": "agent-insurance-specialist-001"
}'
3

Scheduled Call (callInitTime)

Schedule the call for a future time. Example: 5:30 PM IST on 11 March 2026.

bash
curl --location 'https://api-crm-voicex.xtremegenai.com/api/make_call' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ********************' \
--data '{
  "custom_field": {
    "lead_name": "Anjali Gupta",
    "product_interest": "Insurance Policy",
    "age": "35",
    "annual_income": "12L",
    "family_members": "4",
    "lead_score": "Hot",
    "previous_interaction": "Email Campaign"
  },
  "callTo": "+919876543210",
  "businessId": "67bde3bca22e760a3726b488",
  "campaignId": "68338841d569396f8bbd023a",
  "agentId": "agent-insurance-specialist-001",
  "callInitTime": "2026-03-11T17:30:00.000+0530"
}'
4

With Specific Caller ID (callFrom)

Override the outbound caller ID with an assigned virtual number.

bash
curl --location 'https://api-crm-voicex.xtremegenai.com/api/make_call' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ********************' \
--data '{
  "custom_field": {
    "Name": "****",
    "contact_number": "97653XXXXX",
    "full_name": "****",
    "lead_id": "92180864-1df9-XXXX-XXXX-XXXXXXXXXXXX",
    "preferred_language": "****",
    "venue_address": "****",
    "Income": "****"
  },
  "callTo": "+9197653XXXXX",
  "businessId": "67bde3bcXXXXXXXXXXXXXXX",
  "campaignId": "68338841d5XXXXXXXXXXXXXX",
  "callFrom": "+91XXXXXXXXXX"
}'
Also in this section

Cancel / Delete Scheduled Call API

Overview

Cancel pending schedules for a phone number under a given business and campaign — for opt-outs, closed leads, or any situation where a scheduled call should no longer be placed.

Endpoint

https://api-crm-voicex.xtremegenai.com/api/delete_call_by_phone_campaign_dashboard

Method

POST

Content-Type

application/json

Authentication

The API uses Basic Authentication with Base64-encoded credentials. Your production credentials will be provided separately by our team.

Authorization Header
http
Authorization: Basic ********************
Your authentication credentials will be provided separately for production use.

Required Parameters

FieldTypeRequiredDescription
phoneNumberString✅ RequiredNumber to cancel. Accepts +91…, 91…, or 10-digit format.
businessIdString✅ RequiredYour business identifier (provided by us)
campaignIdString✅ RequiredCampaign identifier (provided by us)
sourceString✅ RequiredOnly accepts this value: "Deleted by Client CRM"
The source field must be set to exactly "Deleted by Client CRM" — no other value is accepted.

Sample Request

Cancel all pending scheduled calls for a phone number under a specific business and campaign.

Cancel Scheduled Call
bash
curl --location 'https://api-crm-voicex.xtremegenai.com/api/delete_call_by_phone_campaign_dashboard' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic ********************' \
--data '{
  "phoneNumber": "+9197653XXXXX",
  "businessId": "67bde3bcXXXXXXXXXXXXXXX",
  "campaignId": "68338841d5XXXXXXXXXXXXXX",
  "source": "Deleted by Client CRM"
}'

Common Use Cases

🚫

Opt-Out Requests

Immediately cancel calls when a lead opts out of communication.

✅

Closed Leads

Stop further call attempts once a lead is marked as won or lost in your CRM.

🔄

Lead Reassignment

Cancel existing schedule before re-assigning the lead to a different campaign.