List all voice AI agents API (deprecated)
Deprecated v1 endpoint to list all your Bolna voice AI agents. New integrations should use the v2 List all agents API, which replaces it.
curl --request GET \
--url https://api.bolna.ai/agent/all \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bolna.ai/agent/all"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bolna.ai/agent/all', 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.bolna.ai/agent/all",
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://api.bolna.ai/agent/all"
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://api.bolna.ai/agent/all")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bolna.ai/agent/all")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_name": "Alfred",
"agent_type": "other",
"agent_status": "processed",
"created_at": "2024-01-23T01:14:37Z",
"updated_at": "2024-01-29T18:31:22Z",
"tasks": [
{
"task_type": "conversation",
"tools_config": {
"llm_agent": {
"model": "gpt-4.1-mini",
"max_tokens": 350,
"agent_flow_type": "streaming",
"family": "openai",
"provider": "openai",
"base_url": "https://api.openai.com/v1",
"temperature": 0.3,
"request_json": false,
"routes": {
"embedding_model": "snowflake/snowflake-arctic-embed-m",
"routes": [
{
"route_name": "politics",
"utterances": [
"Who do you think will win the elections?",
"Whom would you vote for?"
],
"response": "Hey, thanks but I do not have opinions on politics",
"score_threshold": 0.9
}
]
}
},
"synthesizer": {
"provider": "elevenlabs",
"provider_config": {
"voice": "Angelica",
"voice_id": "IkSv4tkouLJ6kYsQA7XD",
"model": "eleven_turbo_v2_5",
"temperature": 0.5,
"similarity_boost": 0.75,
"speed": 1,
"style": 0,
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "5xM3yVvZQKV0EfqQpLrJ",
"version_id": "Tdiw9eBX1Z4oE1fqKD9u"
}
]
},
"stream": true,
"caching": true,
"buffer_size": 250,
"audio_format": "wav",
"pronunciation_rules": [
{
"word": "HDFC",
"say_as": "H D F C bank"
}
]
},
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en",
"stream": true,
"sampling_rate": 16000,
"encoding": "linear16",
"endpointing": 250,
"keywords": "Bolna,Acme",
"context": "Inbound support line for a voice AI platform. Callers ask about telephony setup and billing.",
"vad_threshold": 0.5,
"vad_prefix_padding_ms": 300,
"eot_threshold": 0.7,
"eot_timeout_ms": 1000,
"eager_eot_threshold": 0.5,
"assemblyai_config": null,
"delay": "medium",
"noise_reduction": false,
"language_hints": [
"en",
"hi"
],
"task": "transcribe",
"deepgram_host": "api.example-onprem.com",
"deepgram_host_protocol": "wss",
"deepgram_flux_host": "flux.example-onprem.com"
},
"input": {
"provider": "plivo",
"format": "wav"
},
"output": {
"provider": "plivo",
"format": "wav"
},
"api_tools": null,
"s2s": null
},
"toolchain": {
"execution": "parallel",
"pipelines": [
[
"transcriber",
"llm",
"synthesizer"
]
]
},
"task_config": {
"hangup_after_silence": 10,
"hangup_after_LLMCall": false,
"incremental_delay": 400,
"number_of_words_for_interruption": 2,
"call_cancellation_prompt": null,
"backchanneling": false,
"backchanneling_message_gap": 5,
"backchanneling_start_delay": 5,
"ambient_noise": false,
"ambient_noise_track": "coffee-shop",
"call_terminate": 90,
"inbound_limit": -1,
"whitelist_phone_numbers": null,
"disallow_unknown_numbers": false,
"dtmf_enabled": false,
"auto_reschedule": false,
"welcome_message_delay": 0,
"noise_cancellation_level": null,
"call_hangup_message": null,
"interruptible_hangup_message": false,
"check_if_user_online": true,
"trigger_user_online_message_after": 10,
"voicemail": false,
"voicemail_detection_duration": 30,
"voicemail_check_interval": 7,
"voicemail_min_transcript_length": 7,
"voicemail_detection_time": null
}
}
],
"call_summary_enabled": false,
"agent_prompts": {
"task_1": {
"system_prompt": "What is the Ultimate Question of Life, the Universe, and Everything?"
}
}
}
]{
"error": 123,
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
List of agents
Unique identifier for the agent
Human-readable agent name
"Alfred"
Type of agent
"other"
Current status of the agent
seeding, processed "processed"
Timestamp of agent creation
"2024-01-23T01:14:37Z"
Timestamp of last update for the agent
"2024-01-29T18:31:22Z"
An array of tasks that the agent can perform
Show child attributes
Show child attributes
Runs a platform summary pass after each call. The summary is written to the execution's summary field and to extracted_data under General > Call Summary with only a subjective value. Disabled agents produce no call summary.
Prompts to be provided to the agent. It can have multiple tasks of the form task_<task_id>
Show child attributes
Show child attributes
Was this page helpful?
curl --request GET \
--url https://api.bolna.ai/agent/all \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bolna.ai/agent/all"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bolna.ai/agent/all', 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.bolna.ai/agent/all",
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://api.bolna.ai/agent/all"
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://api.bolna.ai/agent/all")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bolna.ai/agent/all")
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[
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_name": "Alfred",
"agent_type": "other",
"agent_status": "processed",
"created_at": "2024-01-23T01:14:37Z",
"updated_at": "2024-01-29T18:31:22Z",
"tasks": [
{
"task_type": "conversation",
"tools_config": {
"llm_agent": {
"model": "gpt-4.1-mini",
"max_tokens": 350,
"agent_flow_type": "streaming",
"family": "openai",
"provider": "openai",
"base_url": "https://api.openai.com/v1",
"temperature": 0.3,
"request_json": false,
"routes": {
"embedding_model": "snowflake/snowflake-arctic-embed-m",
"routes": [
{
"route_name": "politics",
"utterances": [
"Who do you think will win the elections?",
"Whom would you vote for?"
],
"response": "Hey, thanks but I do not have opinions on politics",
"score_threshold": 0.9
}
]
}
},
"synthesizer": {
"provider": "elevenlabs",
"provider_config": {
"voice": "Angelica",
"voice_id": "IkSv4tkouLJ6kYsQA7XD",
"model": "eleven_turbo_v2_5",
"temperature": 0.5,
"similarity_boost": 0.75,
"speed": 1,
"style": 0,
"pronunciation_dictionary_locators": [
{
"pronunciation_dictionary_id": "5xM3yVvZQKV0EfqQpLrJ",
"version_id": "Tdiw9eBX1Z4oE1fqKD9u"
}
]
},
"stream": true,
"caching": true,
"buffer_size": 250,
"audio_format": "wav",
"pronunciation_rules": [
{
"word": "HDFC",
"say_as": "H D F C bank"
}
]
},
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en",
"stream": true,
"sampling_rate": 16000,
"encoding": "linear16",
"endpointing": 250,
"keywords": "Bolna,Acme",
"context": "Inbound support line for a voice AI platform. Callers ask about telephony setup and billing.",
"vad_threshold": 0.5,
"vad_prefix_padding_ms": 300,
"eot_threshold": 0.7,
"eot_timeout_ms": 1000,
"eager_eot_threshold": 0.5,
"assemblyai_config": null,
"delay": "medium",
"noise_reduction": false,
"language_hints": [
"en",
"hi"
],
"task": "transcribe",
"deepgram_host": "api.example-onprem.com",
"deepgram_host_protocol": "wss",
"deepgram_flux_host": "flux.example-onprem.com"
},
"input": {
"provider": "plivo",
"format": "wav"
},
"output": {
"provider": "plivo",
"format": "wav"
},
"api_tools": null,
"s2s": null
},
"toolchain": {
"execution": "parallel",
"pipelines": [
[
"transcriber",
"llm",
"synthesizer"
]
]
},
"task_config": {
"hangup_after_silence": 10,
"hangup_after_LLMCall": false,
"incremental_delay": 400,
"number_of_words_for_interruption": 2,
"call_cancellation_prompt": null,
"backchanneling": false,
"backchanneling_message_gap": 5,
"backchanneling_start_delay": 5,
"ambient_noise": false,
"ambient_noise_track": "coffee-shop",
"call_terminate": 90,
"inbound_limit": -1,
"whitelist_phone_numbers": null,
"disallow_unknown_numbers": false,
"dtmf_enabled": false,
"auto_reschedule": false,
"welcome_message_delay": 0,
"noise_cancellation_level": null,
"call_hangup_message": null,
"interruptible_hangup_message": false,
"check_if_user_online": true,
"trigger_user_online_message_after": 10,
"voicemail": false,
"voicemail_detection_duration": 30,
"voicemail_check_interval": 7,
"voicemail_min_transcript_length": 7,
"voicemail_detection_time": null
}
}
],
"call_summary_enabled": false,
"agent_prompts": {
"task_1": {
"system_prompt": "What is the Ultimate Question of Life, the Universe, and Everything?"
}
}
}
]{
"error": 123,
"message": "<string>"
}
