List Voice AI agents eligible as transfer targets
curl --request GET \
--url https://your-instance.example.com/api/calls/voice-ai/transferable-agents \
--header 'Authorization: Bearer <token>'import requests
url = "https://your-instance.example.com/api/calls/voice-ai/transferable-agents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://your-instance.example.com/api/calls/voice-ai/transferable-agents', 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://your-instance.example.com/api/calls/voice-ai/transferable-agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://your-instance.example.com/api/calls/voice-ai/transferable-agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://your-instance.example.com/api/calls/voice-ai/transferable-agents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/calls/voice-ai/transferable-agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agents": [
{
"id": "64d2f9c5e8a1d4e001a0b1c2",
"name": "Senior Leasing Specialist"
},
{
"id": "64d2f9c5e8a1d4e001a0b1c3",
"name": "Maintenance Coordinator"
}
]
}{
"success": false,
"error": "Call not found"
}{
"success": false,
"error": "Call not found"
}Calls
List Voice AI agents eligible as transfer targets
Returns the set of Prompts in the caller’s organization that can be configured as transfer destinations for the Voice AI transfer server tool. An agent is eligible when its voiceAI.enabled is true AND it has been synced to ElevenLabs (voiceAI.elevenlabsAgentId is set) — only synced agents have a routable agent ID for inter-agent transfer. Pass excludePromptId with the current agent’s id so the agent cannot transfer to itself; non-ObjectId values are ignored (no exclusion is applied).
GET
/
api
/
calls
/
voice-ai
/
transferable-agents
List Voice AI agents eligible as transfer targets
curl --request GET \
--url https://your-instance.example.com/api/calls/voice-ai/transferable-agents \
--header 'Authorization: Bearer <token>'import requests
url = "https://your-instance.example.com/api/calls/voice-ai/transferable-agents"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://your-instance.example.com/api/calls/voice-ai/transferable-agents', 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://your-instance.example.com/api/calls/voice-ai/transferable-agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://your-instance.example.com/api/calls/voice-ai/transferable-agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://your-instance.example.com/api/calls/voice-ai/transferable-agents")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://your-instance.example.com/api/calls/voice-ai/transferable-agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agents": [
{
"id": "64d2f9c5e8a1d4e001a0b1c2",
"name": "Senior Leasing Specialist"
},
{
"id": "64d2f9c5e8a1d4e001a0b1c3",
"name": "Maintenance Coordinator"
}
]
}{
"success": false,
"error": "Call not found"
}{
"success": false,
"error": "Call not found"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Prompt _id to exclude from the result. Typically the current agent's id, to prevent self-transfer.
Response
Transferable agents list
Show child attributes
Show child attributes