Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
curl --request POST \
--url https://api.zudu.ai/api/agents/create \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>' \
--data '
{
"agent_name": "My New Agent"
}
'import requests
url = "https://api.zudu.ai/api/agents/create"
payload = { "agent_name": "My New Agent" }
headers = {
"X-API-KEY": "<api-key>",
"X-API-SECRET": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-KEY': '<api-key>',
'X-API-SECRET': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({agent_name: 'My New Agent'})
};
fetch('https://api.zudu.ai/api/agents/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zudu.ai/api/agents/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'agent_name' => 'My New Agent'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zudu.ai/api/agents/create"
payload := strings.NewReader("{\n \"agent_name\": \"My New Agent\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-SECRET", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.zudu.ai/api/agents/create")
.header("X-API-KEY", "<api-key>")
.header("X-API-SECRET", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"My New Agent\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zudu.ai/api/agents/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-SECRET"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent_name\": \"My New Agent\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Agent created successfully",
"status": "success",
"error": null,
"data": {
"agent_id": "agent_b75cece1-7e81-4bde-bf8e-992ae93654c0",
"organization_id": "org_xyz789",
"created_at": "2025-01-15T12:45:00",
"updated_at": "2025-01-15T12:45:00",
"agent_name": "Customer Support Agent",
"begin_message": "Hello! How can I help you?",
"begin_message_variables": [
"name",
"company"
],
"begin_message_delay_ms": 1000,
"test_variables": {
"name": "John",
"company": "Acme Corp"
},
"webhook_url": "https://example.com/webhook",
"post_call_webhook_id": "webhook_123",
"end_call_after_silence_ms": 60000,
"max_call_duration_ms": 3600000,
"take_turn_after_silence_seconds": 6,
"timezone": "America/New_York",
"knowledge_base_ids": [
"kb_123",
"kb_456"
],
"mcp_server_ids": [
"mcp_123"
],
"rag_config": {
"chunks_to_retrieve": 10,
"similarity_threshold": 0.7
},
"llm_config": {
"system_message": "You are a helpful customer support agent.",
"temperature": 0.7,
"max_tokens": 1000,
"tools": [],
"system_message_variables": []
},
"stt_config": {
"language": "en",
"language_name": "English",
"use_realtime": true
},
"tts_config": {
"voice_id": "21m00Tcm4TlvDq8ikWAM",
"voice_speed": 1,
"language": "en",
"language_name": "English",
"pronunciation_dictionary_ids": [],
"provider": "elevenlabs",
"model": "eleven_multilingual_v2",
"custom_api_url": null,
"custom_api_key": null,
"custom_secret_key": null,
"custom_timeout": null,
"custom_streaming": null,
"custom_sample_rate": null
},
"post_call_analysis_data": [],
"post_call_analysis_model": null,
"post_call_evaluation_criteria": [],
"widget_config": {},
"additional_languages": [],
"access_info": {}
}
}{
"message": "Validation error",
"status": "error",
"error": "Agent name is required",
"data": null
}{
"message": "Failed to create agent",
"status": "error",
"error": "Database connection failed",
"data": null
}Creates a new agent (current behavior).
curl --request POST \
--url https://api.zudu.ai/api/agents/create \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-SECRET: <api-key>' \
--data '
{
"agent_name": "My New Agent"
}
'import requests
url = "https://api.zudu.ai/api/agents/create"
payload = { "agent_name": "My New Agent" }
headers = {
"X-API-KEY": "<api-key>",
"X-API-SECRET": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-API-KEY': '<api-key>',
'X-API-SECRET': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({agent_name: 'My New Agent'})
};
fetch('https://api.zudu.ai/api/agents/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.zudu.ai/api/agents/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'agent_name' => 'My New Agent'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-SECRET: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.zudu.ai/api/agents/create"
payload := strings.NewReader("{\n \"agent_name\": \"My New Agent\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-SECRET", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.zudu.ai/api/agents/create")
.header("X-API-KEY", "<api-key>")
.header("X-API-SECRET", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"agent_name\": \"My New Agent\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zudu.ai/api/agents/create")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-SECRET"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"agent_name\": \"My New Agent\"\n}"
response = http.request(request)
puts response.read_body{
"message": "Agent created successfully",
"status": "success",
"error": null,
"data": {
"agent_id": "agent_b75cece1-7e81-4bde-bf8e-992ae93654c0",
"organization_id": "org_xyz789",
"created_at": "2025-01-15T12:45:00",
"updated_at": "2025-01-15T12:45:00",
"agent_name": "Customer Support Agent",
"begin_message": "Hello! How can I help you?",
"begin_message_variables": [
"name",
"company"
],
"begin_message_delay_ms": 1000,
"test_variables": {
"name": "John",
"company": "Acme Corp"
},
"webhook_url": "https://example.com/webhook",
"post_call_webhook_id": "webhook_123",
"end_call_after_silence_ms": 60000,
"max_call_duration_ms": 3600000,
"take_turn_after_silence_seconds": 6,
"timezone": "America/New_York",
"knowledge_base_ids": [
"kb_123",
"kb_456"
],
"mcp_server_ids": [
"mcp_123"
],
"rag_config": {
"chunks_to_retrieve": 10,
"similarity_threshold": 0.7
},
"llm_config": {
"system_message": "You are a helpful customer support agent.",
"temperature": 0.7,
"max_tokens": 1000,
"tools": [],
"system_message_variables": []
},
"stt_config": {
"language": "en",
"language_name": "English",
"use_realtime": true
},
"tts_config": {
"voice_id": "21m00Tcm4TlvDq8ikWAM",
"voice_speed": 1,
"language": "en",
"language_name": "English",
"pronunciation_dictionary_ids": [],
"provider": "elevenlabs",
"model": "eleven_multilingual_v2",
"custom_api_url": null,
"custom_api_key": null,
"custom_secret_key": null,
"custom_timeout": null,
"custom_streaming": null,
"custom_sample_rate": null
},
"post_call_analysis_data": [],
"post_call_analysis_model": null,
"post_call_evaluation_criteria": [],
"widget_config": {},
"additional_languages": [],
"access_info": {}
}
}{
"message": "Validation error",
"status": "error",
"error": "Agent name is required",
"data": null
}{
"message": "Failed to create agent",
"status": "error",
"error": "Database connection failed",
"data": null
}agent_id if not provided (with “agent_” prefix)API Key for MCP server and external service authentication
API Secret for MCP server and external service authentication
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes