curl --request POST \
--url https://api.callkaro.ai/call/outbound \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e"
}
'{
"status": "done",
"message": "Call queued successfully",
"call_sid": "a1b2c3d4e5"
}Initiate an outbound call to a customer with scheduling and retry capabilities
curl --request POST \
--url https://api.callkaro.ai/call/outbound \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e"
}
'{
"status": "done",
"message": "Call queued successfully",
"call_sid": "a1b2c3d4e5"
}curl -X POST https://api.callkaro.ai/call/outbound \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key_here" \
-d '{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e"
}'
batch_idBasic call with metadata
metadata field:{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e",
"metadata": {
"name": "Abhinav",
"age": 25,
"city": "Bangalore"
},
"priority": 1,
"language": "hi"
}
{{metadata.name}}, {{metadata.age}}, etc.Call with 3 retries
{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e",
"number_of_retries": 3,
"gap_between_retries": [30, 60]
}
Schedule call for later
{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e",
"schedule_at": "2025-12-31T09:30:00"
}
Call only during business hours
{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e",
"schedule_at": "2025-12-31T09:30:00",
"min_trigger_time": "09:00",
"max_trigger_time": "18:00",
"number_of_retries": 3,
"gap_between_retries": 30
}
Reschedule to next day if time limit reached
carry_over to reschedule missed calls:{
"to_number": "+919876543210",
"agent_id": "6803fa770b666a64ab1694c1e",
"schedule_at": "2025-12-31T09:30:00",
"min_trigger_time": "09:00",
"max_trigger_time": "18:00",
"carry_over": true,
"number_of_retries": 3,
"gap_between_retries": 30
}
{
"status": "success",
"message": "Call initiated successfully",
"call_id": "a1b2c3d4e5"
}
{"status": "error", "message": "Missing agent_id"}
{"status": "error", "message": "Missing X-API-KEY in headers"}
{"status": "error", "message": "Agent does not exist"}
{"status": "error", "message": "Server error"}
API key from https://callkaro.ai/dashboard/api-key
Customer's phone number in international format (E.164)
"+919876543210"
ID of the AI agent that will handle the call
"6803fa770b666a64ab1694c1e"
ID of the campaign this call belongs to (optional)
Custom customer data accessible in agent prompts using {{metadata.key}}
{
"name": "John Doe",
"age": 25,
"city": "Bangalore"
}Scheduled call time in ISO 8601 format (YYYY-MM-DDTHH:MM:SS)
"2025-05-28T09:30:00"
Earliest time of day the call can trigger (HH:MM format)
"09:00"
Latest time of day the call can trigger (HH:MM format)
"18:00"
If true, reschedule to next day if max_trigger_time is reached
Number of retry attempts if call doesn't connect successfully
0 <= x <= 103
Same gap for all retries (in minutes)
30
Call priority in queue. Higher values = higher priority
-100 <= x <= 100Language code for the call (ISO 639-1)
hi, en, kn, mr, ta, te, bn, gu, ml "en"