Skip to main content
POST
/
test_framework
/
v1
/
aiagents
cURL
curl --request POST \
  --url https://api.cekura.ai/test_framework/v1/aiagents/ \
  --header 'Content-Type: application/json' \
  --header 'X-CEKURA-API-KEY: <api-key>' \
  --data '
{
  "project": 123,
  "organization": 123,
  "agent_name": "<string>",
  "contact_number": "<string>",
  "inbound": true,
  "description": "<string>",
  "language": "en",
  "assistant_id": "<string>",
  "chat_assistant_id": "<string>",
  "websocket_url": "<string>",
  "websocket_headers": {},
  "llm_system_prompt": "<string>",
  "llm_model": "gpt-4o",
  "llm_temperature": 0,
  "llm_max_tokens": 4096,
  "outbound_auto_call": false,
  "sip_endpoint": "<string>",
  "sip_auth": "<unknown>",
  "predefined_metrics": "<unknown>",
  "transcript_provider": "",
  "assistant_provider": "",
  "vapi_api_key": "<string>",
  "retell_api_key": "<string>",
  "elevenlabs_api_key": "<string>",
  "bland_api_key": "<string>",
  "livekit_api_key": "<string>",
  "livekit_data": "<string>",
  "pipecat_api_key": "<string>",
  "pipecat_data": "<string>",
  "koreai_client_secret": "<string>",
  "koreai_data": "<string>",
  "agentforce_client_secret": "<string>",
  "agentforce_data": "<string>",
  "custom_provider_api_key": "<string>",
  "custom_provider_data": "<string>",
  "trillet_api_key": "<string>",
  "trillet_data": "<string>",
  "synthflow_api_key": "<string>",
  "enabled_personalities": [
    123
  ],
  "dropoff_nodes": "<unknown>",
  "topic_nodes": "<unknown>",
  "pronunciation_words": "<unknown>",
  "spelling_word_types": "<unknown>",
  "auto_update_dropoff_nodes": true,
  "auto_update_topic_nodes": true,
  "hallucination_metric_kb_files": [
    123
  ],
  "outbound_numbers": "<unknown>"
}
'
{
  "id": 123,
  "project": 123,
  "agent_name": "<string>",
  "contact_number": "<string>",
  "inbound": true,
  "description": "<string>",
  "language": "en",
  "assistant_id": "<string>",
  "chat_assistant_id": "<string>",
  "websocket_url": "<string>",
  "websocket_headers": {},
  "llm_system_prompt": "<string>",
  "llm_model": "gpt-4o",
  "llm_temperature": 0,
  "llm_max_tokens": 4096,
  "outbound_auto_call": false,
  "sip_endpoint": "<string>",
  "sip_auth": "<unknown>",
  "knowledge_base_files": "<string>",
  "transcript_provider": "",
  "assistant_provider": "",
  "vapi_api_key": "<string>",
  "retell_api_key": "<string>",
  "elevenlabs_api_key": "<string>",
  "bland_api_key": "<string>",
  "livekit_api_key": "<string>",
  "livekit_data": "<string>",
  "pipecat_api_key": "<string>",
  "pipecat_data": "<string>",
  "koreai_client_secret": "<string>",
  "koreai_data": "<string>",
  "agentforce_client_secret": "<string>",
  "agentforce_data": "<string>",
  "custom_provider_api_key": "<string>",
  "custom_provider_data": "<string>",
  "trillet_api_key": "<string>",
  "trillet_data": "<string>",
  "synthflow_api_key": "<string>",
  "enabled_personalities": [
    123
  ],
  "dropoff_nodes": "<unknown>",
  "topic_nodes": "<unknown>",
  "pronunciation_words": "<unknown>",
  "spelling_word_types": "<unknown>",
  "auto_update_dropoff_nodes": true,
  "auto_update_topic_nodes": true,
  "hallucination_metric_kb_files": [
    123
  ],
  "outbound_numbers": "<unknown>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

X-CEKURA-API-KEY
string
header
required

API Key Authentication. It should be included in the header of each request.

Body

project
integer

The project this agent belongs to

organization
integer

The organization this agent belongs to

agent_name
string

A descriptive name for your agent Example:

  • "Customer Service Assistant"
  • "Sales Bot"
Maximum string length: 255
contact_number
string

Phone number assigned to this agent for calls (must start with + followed by digits, min 8 chars) Example: "+1234567890"

Maximum string length: 30
inbound
boolean

Whether this agent handles inbound calls.

  • If true, our agent will call you on above number.
  • If false, your agent will have to call our agent.

Example: true or false

description
string

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
language
enum<string>
default:en

The primary language this agent uses for communication (e.g. 'en' for English)

  • af - Afrikaans
  • ar - Arabic
  • bg - Bulgarian
  • zh - Chinese Simplified
  • cs - Czech
  • da - Danish
  • nl - Dutch
  • en - English
  • fi - Finnish
  • fr - French
  • de - German
  • el - Greek
  • hi - Hindi
  • he - Hebrew
  • hu - Hungarian
  • id - Indonesian
  • it - Italian
  • ja - Japanese
  • ko - Korean
  • ms - Malay
  • multi - Multilingual
  • no - Norwegian
  • pl - Polish
  • pt - Portuguese
  • ro - Romanian
  • ru - Russian
  • sk - Slovak
  • es - Spanish
  • sv - Swedish
  • th - Thai
  • tr - Turkish
  • ta - Tamil
  • uk - Ukrainian
  • vi - Vietnamese
Available options:
af,
ar,
bg,
zh,
cs,
da,
nl,
en,
fi,
fr,
de,
el,
hi,
he,
hu,
id,
it,
ja,
ko,
ms,
multi,
no,
pl,
pt,
ro,
ru,
sk,
es,
sv,
th,
tr,
ta,
uk,
vi
assistant_id
string | null

External assistant service identifier (minimum 10 characters) Example: "asst_abc123xyz"

Maximum string length: 255
chat_assistant_id
string

Chat-specific assistant service identifier (minimum 10 characters) Example: "chat_asst_abc123xyz"

Maximum string length: 255
websocket_url
string

WebSocket endpoint URL for real-time communication Example: "wss://api.example.com/ws"

websocket_headers
object

Headers to be sent to the websocket server

llm_system_prompt
string

System prompt that defines the agent's behavior and personality Example:

You are a helpful customer service agent. Always be polite and professional.
llm_model
enum<string>
default:gpt-4o

The LLM model to use for simulating user responses

  • gpt-4o - gpt-4o
  • gpt-4o-mini - gpt-4o-mini
  • gpt-4.1 - gpt-4.1
  • gpt-4.1-mini - gpt-4.1-mini
  • claude-sonnet-4-5-20250929 - claude-sonnet-4-5
Available options:
gpt-4o,
gpt-4o-mini,
gpt-4.1,
gpt-4.1-mini,
claude-sonnet-4-5-20250929
llm_temperature
number<double>
default:0

Controls randomness in responses (0.0-2.0, lower = more focused) Example: 0.5

llm_max_tokens
integer
default:4096

Maximum length of simulated responses in tokens Example: 4096

outbound_auto_call
boolean
default:false

Whether to automatically call the outbound number Example: False or True

sip_endpoint
string | null

SIP endpoint URL for direct SIP-based phone calls. Example: "sip:[email protected]" or "sip:[email protected]" Leave empty if SIP calling is not configured for this agent.

Maximum string length: 255
sip_auth
any | null

SIP authentication credentials Example: {"username": "user123", "password": "pass123"}

predefined_metrics
any

predefined metrics to use for the agent

transcript_provider
enum<string>
default:""

Service provider for speech-to-text transcription

  • vapi - Vapi
  • retell - Retell
  • vocera - Vocera
  • synthflow - Synthflow
  • elevenlabs - Elevenlabs
  • bland - Bland
  • livekit - Livekit
  • pipecat - Pipecat
  • koreai - Kore
  • custom - Custom
  • trillet - Trillet
Available options:
vapi,
retell,
vocera,
synthflow,
elevenlabs,
bland,
livekit,
pipecat,
koreai,
custom,
trillet,
assistant_provider
enum<string>
default:""

Service provider for the AI assistant functionality

  • vapi - Vapi
  • retell - Retell
  • elevenlabs - Elevenlabs
  • vocera - Vocera
  • sms - Sms
  • self_hosted - Self Hosted
  • agentforce - Agentforce
  • trillet - Trillet
Available options:
vapi,
retell,
elevenlabs,
vocera,
sms,
self_hosted,
agentforce,
trillet,
vapi_api_key
string

API key for VAPI service provider Example: "vapi_api_key_123"

retell_api_key
string

API key for Retell service provider Example: "retell_api_key_123"

elevenlabs_api_key
string

API key for ElevenLabs voice synthesis service Example: "elevenlabs_api_key_123"

bland_api_key
string

API key for Bland service provider Example: "bland_api_key_123"

livekit_api_key
string

API key for LiveKit service provider Example: "livekit_api_key_123"

livekit_data
string

LiveKit additional data (api_secret, url, and config)

pipecat_api_key
string

API key for Pipecat/Daily.co service provider Example: "pipecat_api_key_123"

pipecat_data
string

Pipecat/Daily.co additional data (webhook_url and config)

koreai_client_secret
string

Client secret key for Kore.ai service provider Example: "client_secret_key_123"

koreai_data
string

Kore.ai additional data - client_id, bot_id, and host (optional)

agentforce_client_secret
string

Client secret for Salesforce Agentforce OAuth2 authentication Example: "3EG7HHH..."

agentforce_data
string

Agentforce additional data - client_id, domain, and agent_id Example: {"client_id": "sd7a8...", "domain": "https://example.sandbox.my.salesforce.com", "agent_id": "0Xx..."}

custom_provider_api_key
string

API key for custom service provider Example: "custom_api_key_123"

custom_provider_data
string

Additional configuration data for custom service provider

trillet_api_key
string

API key for Trillet AI service provider Example: "trillet_api_key_123"

trillet_data
string

Trillet AI additional data including Workspace ID Example: {"workspace_id": "1234567890"}

synthflow_api_key
string

API key for Synthflow service provider Example: "synthflow_api_key_123"

enabled_personalities
integer[]

Personality profiles enabled for this agent Example: [1, 2, 3]

dropoff_nodes
any

Configuration for conversation dropoff points. Example: {"timeout": 30, "max_retries": 3}

topic_nodes
any

Configuration for topic classification nodes. Example: {"billing": "handle_billing", "support": "handle_support"}

pronunciation_words
any | null

List of words with phonemes for pronunciation analysis. Example: [["hello", "HH AH L OW"], ["world", "W ER L D"]]

spelling_word_types
any | null

List of word types/categories to check for spelling analysis. Example: ["name", "postcode", "email", "address"]

auto_update_dropoff_nodes
boolean

Whether to automatically update the dropoff nodes based on the agent description

auto_update_topic_nodes
boolean

Whether to automatically update the topic nodes based on the agent description

hallucination_metric_kb_files
(integer | null)[]

Knowledge base files used for hallucination metric

outbound_numbers
any

List of outbound phone numbers for this agent. Example: ["+1234567890", "+0987654321"]

Response

201 - application/json
id
integer

Agent ID. Example: 2142

project
integer

The project this agent belongs to

agent_name
string

A descriptive name for your agent Example:

  • "Customer Service Assistant"
  • "Sales Bot"
Maximum string length: 255
contact_number
string

Phone number assigned to this agent for calls (must start with + followed by digits, min 8 chars) Example: "+1234567890"

Maximum string length: 30
inbound
boolean

Whether this agent handles inbound calls.

  • If true, our agent will call you on above number.
  • If false, your agent will have to call our agent.

Example: true or false

description
string

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
language
enum<string>
default:en

The primary language this agent uses for communication (e.g. 'en' for English)

  • af - Afrikaans
  • ar - Arabic
  • bg - Bulgarian
  • zh - Chinese Simplified
  • cs - Czech
  • da - Danish
  • nl - Dutch
  • en - English
  • fi - Finnish
  • fr - French
  • de - German
  • el - Greek
  • hi - Hindi
  • he - Hebrew
  • hu - Hungarian
  • id - Indonesian
  • it - Italian
  • ja - Japanese
  • ko - Korean
  • ms - Malay
  • multi - Multilingual
  • no - Norwegian
  • pl - Polish
  • pt - Portuguese
  • ro - Romanian
  • ru - Russian
  • sk - Slovak
  • es - Spanish
  • sv - Swedish
  • th - Thai
  • tr - Turkish
  • ta - Tamil
  • uk - Ukrainian
  • vi - Vietnamese
Available options:
af,
ar,
bg,
zh,
cs,
da,
nl,
en,
fi,
fr,
de,
el,
hi,
he,
hu,
id,
it,
ja,
ko,
ms,
multi,
no,
pl,
pt,
ro,
ru,
sk,
es,
sv,
th,
tr,
ta,
uk,
vi
assistant_id
string | null

External assistant service identifier (minimum 10 characters) Example: "asst_abc123xyz"

Maximum string length: 255
chat_assistant_id
string

Chat-specific assistant service identifier (minimum 10 characters) Example: "chat_asst_abc123xyz"

Maximum string length: 255
websocket_url
string

WebSocket endpoint URL for real-time communication Example: "wss://api.example.com/ws"

websocket_headers
object

Headers to be sent to the websocket server

llm_system_prompt
string

System prompt that defines the agent's behavior and personality Example:

You are a helpful customer service agent. Always be polite and professional.
llm_model
enum<string>
default:gpt-4o

The LLM model to use for simulating user responses

  • gpt-4o - gpt-4o
  • gpt-4o-mini - gpt-4o-mini
  • gpt-4.1 - gpt-4.1
  • gpt-4.1-mini - gpt-4.1-mini
  • claude-sonnet-4-5-20250929 - claude-sonnet-4-5
Available options:
gpt-4o,
gpt-4o-mini,
gpt-4.1,
gpt-4.1-mini,
claude-sonnet-4-5-20250929
llm_temperature
number<double>
default:0

Controls randomness in responses (0.0-2.0, lower = more focused) Example: 0.5

llm_max_tokens
integer
default:4096

Maximum length of simulated responses in tokens Example: 4096

outbound_auto_call
boolean
default:false

Whether to automatically call the outbound number Example: False or True

sip_endpoint
string | null

SIP endpoint URL for direct SIP-based phone calls. Example: "sip:[email protected]" or "sip:[email protected]" Leave empty if SIP calling is not configured for this agent.

Maximum string length: 255
sip_auth
any | null

SIP authentication credentials Example: {"username": "user123", "password": "pass123"}

knowledge_base_files
string

List of knowledge base files attached to the agent Example: [1, 2, 3]

transcript_provider
enum<string>
default:""

Service provider for speech-to-text transcription

  • vapi - Vapi
  • retell - Retell
  • vocera - Vocera
  • synthflow - Synthflow
  • elevenlabs - Elevenlabs
  • bland - Bland
  • livekit - Livekit
  • pipecat - Pipecat
  • koreai - Kore
  • custom - Custom
  • trillet - Trillet
Available options:
vapi,
retell,
vocera,
synthflow,
elevenlabs,
bland,
livekit,
pipecat,
koreai,
custom,
trillet,
assistant_provider
enum<string>
default:""

Service provider for the AI assistant functionality

  • vapi - Vapi
  • retell - Retell
  • elevenlabs - Elevenlabs
  • vocera - Vocera
  • sms - Sms
  • self_hosted - Self Hosted
  • agentforce - Agentforce
  • trillet - Trillet
Available options:
vapi,
retell,
elevenlabs,
vocera,
sms,
self_hosted,
agentforce,
trillet,
vapi_api_key
string

API key for VAPI service provider Example: "vapi_api_key_123"

retell_api_key
string

API key for Retell service provider Example: "retell_api_key_123"

elevenlabs_api_key
string

API key for ElevenLabs voice synthesis service Example: "elevenlabs_api_key_123"

bland_api_key
string

API key for Bland service provider Example: "bland_api_key_123"

livekit_api_key
string

API key for LiveKit service provider Example: "livekit_api_key_123"

livekit_data
string

LiveKit additional data (api_secret, url, and config)

pipecat_api_key
string

API key for Pipecat/Daily.co service provider Example: "pipecat_api_key_123"

pipecat_data
string

Pipecat/Daily.co additional data (webhook_url and config)

koreai_client_secret
string

Client secret key for Kore.ai service provider Example: "client_secret_key_123"

koreai_data
string

Kore.ai additional data - client_id, bot_id, and host (optional)

agentforce_client_secret
string

Client secret for Salesforce Agentforce OAuth2 authentication Example: "3EG7HHH..."

agentforce_data
string

Agentforce additional data - client_id, domain, and agent_id Example: {"client_id": "sd7a8...", "domain": "https://example.sandbox.my.salesforce.com", "agent_id": "0Xx..."}

custom_provider_api_key
string

API key for custom service provider Example: "custom_api_key_123"

custom_provider_data
string

Additional configuration data for custom service provider

trillet_api_key
string

API key for Trillet AI service provider Example: "trillet_api_key_123"

trillet_data
string

Trillet AI additional data including Workspace ID Example: {"workspace_id": "1234567890"}

synthflow_api_key
string

API key for Synthflow service provider Example: "synthflow_api_key_123"

enabled_personalities
integer[]

Personality profiles enabled for this agent Example: [1, 2, 3]

dropoff_nodes
any

Configuration for conversation dropoff points. Example: {"timeout": 30, "max_retries": 3}

topic_nodes
any

Configuration for topic classification nodes. Example: {"billing": "handle_billing", "support": "handle_support"}

pronunciation_words
any | null

List of words with phonemes for pronunciation analysis. Example: [["hello", "HH AH L OW"], ["world", "W ER L D"]]

spelling_word_types
any | null

List of word types/categories to check for spelling analysis. Example: ["name", "postcode", "email", "address"]

auto_update_dropoff_nodes
boolean

Whether to automatically update the dropoff nodes based on the agent description

auto_update_topic_nodes
boolean

Whether to automatically update the topic nodes based on the agent description

hallucination_metric_kb_files
(integer | null)[]

Knowledge base files used for hallucination metric

outbound_numbers
any

List of outbound phone numbers for this agent. Example: ["+1234567890", "+0987654321"]

created_at
string<date-time>

Timestamp when the agent was created Example: "2021-01-01T00:00:00Z"

updated_at
string<date-time>

Timestamp when the agent was last updated Example: "2021-01-01T00:00:00Z"