curl --request GET \
--url https://api.cekura.ai/test_framework/v2/aiagents/{id}/ \
--header 'X-CEKURA-API-KEY: <api-key>'import requests
url = "https://api.cekura.ai/test_framework/v2/aiagents/{id}/"
headers = {"X-CEKURA-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-CEKURA-API-KEY': '<api-key>'}};
fetch('https://api.cekura.ai/test_framework/v2/aiagents/{id}/', 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.cekura.ai/test_framework/v2/aiagents/{id}/",
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-CEKURA-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.cekura.ai/test_framework/v2/aiagents/{id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-CEKURA-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.cekura.ai/test_framework/v2/aiagents/{id}/")
.header("X-CEKURA-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v2/aiagents/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"description": "<string>",
"id": 123,
"name": "<string>",
"project": 123,
"language": "en",
"telephony": {
"phone_number": "<string>",
"inbound": false,
"sip_uri": "<string>",
"sip_auth": "<unknown>",
"websocket_url": "<string>",
"websocket_auth": "<unknown>",
"outbound_numbers": [
"<string>"
]
},
"provider": {
"type": "vapi",
"agent_id": "<string>",
"credentials": {
"config": {
"public_key": "<string>",
"trigger_url": "<string>"
}
},
"chat_agent_details": {
"type": "retell",
"config": {
"agent_id": "<string>"
}
},
"chat_provider": "<string>",
"auto_dial_outbound": true,
"auto_import_calls": true,
"auto_sync_prompt": true,
"send_post_conversation_metadata": true,
"redact_fields": [
"person_name"
]
},
"agent_speaks_first": true,
"knowledge_base_files": [
{
"agent": 123,
"id": 123,
"file_url": "<string>",
"file_name": "<string>",
"file_type": "<string>",
"file_size": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"enabled_personalities": [
123
],
"webhook_url": "<string>",
"webhook_secret_configured": "<string>",
"mock_tools": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"mock_data": "<unknown>",
"served_via": {
"type": "direct",
"url": "<string>",
"mock_index": 123
},
"mcp_server": "<unknown>",
"subscriber_count": 123,
"is_shared": true
}
],
"mock_tools_enabled": true,
"mock_tools_provider": "<string>",
"dynamic_variables": [
{
"id": 123,
"name": "<string>",
"description": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"email_id": "jsmith@example.com"
}{
"detail": "<string>"
}Get Agent
Retrieve an AI voice agent by ID
curl --request GET \
--url https://api.cekura.ai/test_framework/v2/aiagents/{id}/ \
--header 'X-CEKURA-API-KEY: <api-key>'import requests
url = "https://api.cekura.ai/test_framework/v2/aiagents/{id}/"
headers = {"X-CEKURA-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-CEKURA-API-KEY': '<api-key>'}};
fetch('https://api.cekura.ai/test_framework/v2/aiagents/{id}/', 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.cekura.ai/test_framework/v2/aiagents/{id}/",
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-CEKURA-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.cekura.ai/test_framework/v2/aiagents/{id}/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-CEKURA-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.cekura.ai/test_framework/v2/aiagents/{id}/")
.header("X-CEKURA-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cekura.ai/test_framework/v2/aiagents/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-CEKURA-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"description": "<string>",
"id": 123,
"name": "<string>",
"project": 123,
"language": "en",
"telephony": {
"phone_number": "<string>",
"inbound": false,
"sip_uri": "<string>",
"sip_auth": "<unknown>",
"websocket_url": "<string>",
"websocket_auth": "<unknown>",
"outbound_numbers": [
"<string>"
]
},
"provider": {
"type": "vapi",
"agent_id": "<string>",
"credentials": {
"config": {
"public_key": "<string>",
"trigger_url": "<string>"
}
},
"chat_agent_details": {
"type": "retell",
"config": {
"agent_id": "<string>"
}
},
"chat_provider": "<string>",
"auto_dial_outbound": true,
"auto_import_calls": true,
"auto_sync_prompt": true,
"send_post_conversation_metadata": true,
"redact_fields": [
"person_name"
]
},
"agent_speaks_first": true,
"knowledge_base_files": [
{
"agent": 123,
"id": 123,
"file_url": "<string>",
"file_name": "<string>",
"file_type": "<string>",
"file_size": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
],
"enabled_personalities": [
123
],
"webhook_url": "<string>",
"webhook_secret_configured": "<string>",
"mock_tools": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"mock_data": "<unknown>",
"served_via": {
"type": "direct",
"url": "<string>",
"mock_index": 123
},
"mcp_server": "<unknown>",
"subscriber_count": 123,
"is_shared": true
}
],
"mock_tools_enabled": true,
"mock_tools_provider": "<string>",
"dynamic_variables": [
{
"id": 123,
"name": "<string>",
"description": "<string>"
}
],
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"email_id": "jsmith@example.com"
}{
"detail": "<string>"
}Authorizations
API Key Authentication. It should be included in the header of each request.
Path Parameters
A unique integer value identifying this ai agent.
Response
A detailed description of what this agent does and how it should interact Example:
AI agent for handling customer support inquiries and resolving technical issues
Agent ID.
Example: 2142
Agent name. Optional when configure_from_provider is set — it's fetched from the provider.
255The project this agent belongs to
The primary language this agent uses for communication (e.g. 'en' for English)
af- Afrikaansar- Arabicbn- Bengalibg- Bulgarianzh- Chinese Simplifiedcs- Czechda- Danishnl- Dutchen- Englishet- Estonianfi- Finnishfr- Frenchde- Germanel- Greekgu- Gujaratihi- Hindihe- Hebrewhu- Hungarianid- Indonesianit- Italianja- Japanesekn- Kannadakk- Kazakhko- Koreanms- Malayml- Malayalammr- Marathimulti- Multilingualno- Norwegianpl- Polishpa- Punjabipt- Portuguesero- Romanianru- Russiansk- Slovakes- Spanishsv- Swedishth- Thaitr- Turkishtl- Tagalogta- Tamilte- Teluguuk- Ukrainianuz- Uzbekvi- Vietnamese
af, ar, bn, bg, zh, cs, da, nl, en, et, fi, fr, de, el, gu, hi, he, hu, id, it, ja, kn, kk, ko, ms, ml, mr, multi, no, pl, pa, pt, ro, ru, sk, es, sv, th, tr, tl, ta, te, uk, uz, vi Phone and SIP/websocket channel configuration.
Show child attributes
Show child attributes
AI platform integration (provider type, agent id, credential status, chat config).
Show child attributes
Show child attributes
True = agent speaks first; False = test user speaks first; null = auto-detect.
Knowledge base files attached to the agent.
Show child attributes
Show child attributes
Personality profiles enabled for this agent
Example: [1, 2, 3]
Webhook URL for this agent. When set, overrides the project-level webhook URL for events from this agent.
Mock tools registered on the agent, each with its mock data and runtime access (served_via).
Show child attributes
Show child attributes
Whether mock tools should be selected by default when configuring a run.
Provider the mock tools were fetched from (vapi, retell, elevenlabs, custom). Null until auto-fetch has been run.
Dynamic variable definitions for the agent, ordered by name.
Show child attributes
Show child attributes
Timestamp when the agent was created
Example: "2021-01-01T00:00:00Z"
Timestamp when the agent was last updated
Example: "2021-01-01T00:00:00Z"
Email address this agent receives at. When set, enables email-based test runs.
254