Create agent
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
}Agents
Create agent
Creates a new agent (current behavior).
POST
/
api
/
agents
/
create
Create agent
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
}Notes
- Creates a new agent with the specified configuration
- Auto-generates
agent_idif not provided (with “agent_” prefix)
Authorizations
API Key for MCP server and external service authentication
API Secret for MCP server and external service authentication
Body
application/json
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
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
⌘I