curl --request GET \
--url https://api.trugen.ai/v1/ext/agent \
--header 'x-api-key: <api-key>'import requests
url = "https://api.trugen.ai/v1/ext/agent"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.trugen.ai/v1/ext/agent', 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.trugen.ai/v1/ext/agent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.trugen.ai/v1/ext/agent"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.trugen.ai/v1/ext/agent")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trugen.ai/v1/ext/agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "045302f0-9783-4ff2-846e-3888fb2a7894",
"agent_name": "HR Assistant",
"agent_system_prompt": "You are an HR Assistant.",
"avatars": [
{
"avatar_key_id": "1e4ea106",
"persona_name": "Lisa",
"config": {
"llm": {
"model": "meta-llama/llama-4-maverick-17b-128e-instruct",
"provider": "groq"
},
"stt": {
"model": "flux-general-en",
"provider": "deepgram",
"min_endpointing_delay": 0.3,
"max_endpointing_delay": 0.4
},
"tts": {
"model_id": "eleven_turbo_v2_5",
"provider": "elevenlabs",
"voice_id": "ZUrEGyu8GFMwnHbvLhv2"
}
}
}
],
"callback_events": [
"utterance_committed"
],
"callback_url": "",
"config": {
"maxCallDuration": 10,
"conversationalContext": "You are going to speak with employees from our Machine Learning Team."
},
"knowledge_base": null,
"tool": null,
"guardrail": null,
"mcp": null,
"record": true,
"created_at": "2025-10-17T19:05:25.557061Z",
"updated_at": "2025-10-17T19:05:25.557061Z"
}
]{
"error": "Unauthorized: not a valid authorization api key"
}{
"error": "Failed to retrieve agent details"
}List All Agents
Fetches a list of all your agents, including associated avatars, knowledge bases, and callback settings.
curl --request GET \
--url https://api.trugen.ai/v1/ext/agent \
--header 'x-api-key: <api-key>'import requests
url = "https://api.trugen.ai/v1/ext/agent"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.trugen.ai/v1/ext/agent', 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.trugen.ai/v1/ext/agent",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <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"
"net/http"
"io"
)
func main() {
url := "https://api.trugen.ai/v1/ext/agent"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.trugen.ai/v1/ext/agent")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trugen.ai/v1/ext/agent")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"id": "045302f0-9783-4ff2-846e-3888fb2a7894",
"agent_name": "HR Assistant",
"agent_system_prompt": "You are an HR Assistant.",
"avatars": [
{
"avatar_key_id": "1e4ea106",
"persona_name": "Lisa",
"config": {
"llm": {
"model": "meta-llama/llama-4-maverick-17b-128e-instruct",
"provider": "groq"
},
"stt": {
"model": "flux-general-en",
"provider": "deepgram",
"min_endpointing_delay": 0.3,
"max_endpointing_delay": 0.4
},
"tts": {
"model_id": "eleven_turbo_v2_5",
"provider": "elevenlabs",
"voice_id": "ZUrEGyu8GFMwnHbvLhv2"
}
}
}
],
"callback_events": [
"utterance_committed"
],
"callback_url": "",
"config": {
"maxCallDuration": 10,
"conversationalContext": "You are going to speak with employees from our Machine Learning Team."
},
"knowledge_base": null,
"tool": null,
"guardrail": null,
"mcp": null,
"record": true,
"created_at": "2025-10-17T19:05:25.557061Z",
"updated_at": "2025-10-17T19:05:25.557061Z"
}
]{
"error": "Unauthorized: not a valid authorization api key"
}{
"error": "Failed to retrieve agent details"
}Authorizations
Query Parameters
The number of agents to skip before starting to return results.
The number of agents to return per page.
Search criteria to filter agents by name or ID.
Response
List of agents retrieved successfully
Unique identifier for the agent.
"b63c2a53-266b-4b43-a71b-7ea8b5e2e916"
Display name of the agent.
"Customer Support Agent"
Foundational system instruction used by this agent.
"You are a helpful AI assistant that handles customer service inquiries."
List of avatars associated with this agent.
Show child attributes
Show child attributes
Webhook events that should trigger callbacks.
[
"participant_left",
"agent.started_speaking",
"agent.stopped_speaking",
"agent.interrupted",
"user.started_speaking",
"user.stopped_speaking",
"utterance_committed",
"max_call_duration_timeout"
]
Webhook endpoint URL to send callback events to.
"https://webhooks.example.com/agent-events"
Agent-level configuration properties.
Show child attributes
Show child attributes
List of knowledge bases attached to this agent.
Show child attributes
Show child attributes
List of tools attached to this agent.
Show child attributes
Show child attributes
Guardrails attached to this agent, returned in full (not by ID only).
Show child attributes
Show child attributes
List of MCP attached to this agent.
Show child attributes
Show child attributes
Determines whether voice call recordings should be stored.
true
Timestamp indicating when the agent was created.
"2025-12-01T10:20:30.000Z"
Last updated timestamp for the agent.
"2025-12-03T14:50:00.000Z"
Was this page helpful?