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.