POST
/
test_framework
/
v1
/
aiagents
/
{id}
/
duplicate
/
cURL
curl --request POST \
  --url https://api.cekura.ai/test_framework/v1/aiagents/{id}/duplicate/ \
  --header 'Content-Type: application/json' \
  --header 'X-CEKURA-API-KEY: <api-key>' \
  --data '{
  "copy_scenarios": true
}'
{
  "id": 123,
  "project": 123,
  "agent_name": "<string>",
  "contact_number": "<string>",
  "inbound": true,
  "description": "<string>",
  "language": "ar",
  "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,
  "knowledge_base_files": "<string>",
  "transcript_provider": "vapi",
  "assistant_provider": "vapi",
  "vapi_api_key": "<string>",
  "retell_api_key": "<string>",
  "elevenlabs_api_key": "<string>",
  "bland_api_key": "<string>",
  "custom_provider_api_key": "<string>",
  "custom_provider_data": "<string>",
  "synthflow_api_key": "<string>",
  "enabled_personalities": [
    123
  ],
  "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.

Path Parameters

id
integer
required

A unique integer value identifying this ai agent.

Body

copy_scenarios
boolean

If true, scenarios will be copied

Response

Mixin for parsing restql query from request.

NOTE: We are using request.GET instead of request.query_params because this might be called before DRF request is created(i.e from dispatch). This means request.query_params might not be available when this mixin is used.

agent_name
string
required

A descriptive name for your agent

Maximum length: 255
contact_number
string
required

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

Maximum length: 15
inbound
boolean
required

Specifies if this agent handles inbound calls. Set to true for inbound, false for outbound calls

description
string
required

A detailed description of what this agent does and how it should interact

knowledge_base_files
string
required

List of knowledge base files attached to the agent

created_at
string<date-time>
required

Timestamp when the agent was created

updated_at
string<date-time>
required

Timestamp when the agent was last updated

id
integer

Unique identifier for the AI agent

project
integer

The project this agent belongs to

language
enum<string>
default:en

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

  • 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
  • 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
  • tr - Turkish
  • uk - Ukrainian
  • vi - Vietnamese
Available options:
ar,
bg,
zh,
cs,
da,
nl,
en,
fi,
fr,
de,
el,
hi,
hu,
id,
it,
ja,
ko,
ms,
multi,
no,
pl,
pt,
ro,
ru,
sk,
es,
sv,
tr,
uk,
vi
assistant_id
string | null

External assistant service identifier (minimum 10 characters)

Maximum length: 255
chat_assistant_id
string

Chat-specific assistant service identifier (minimum 10 characters)

Maximum length: 255
websocket_url
string

WebSocket endpoint URL for real-time communication (must use ws:// or wss://)

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

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-3-5-sonnet-20240620 - claude-3-5-sonnet-20240620
Available options:
gpt-4o,
gpt-4o-mini,
gpt-4.1,
gpt-4.1-mini,
claude-3-5-sonnet-20240620
llm_temperature
number
default:0

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

llm_max_tokens
integer
default:4096

Maximum length of simulated responses in tokens

transcript_provider
enum<string>
default:vocera

Service provider for speech-to-text transcription

  • vapi - Vapi
  • retell - Retell
  • vocera - Vocera
  • synthflow - Synthflow
  • elevenlabs - Elevenlabs
  • bland - Bland
  • custom - Custom
Available options:
vapi,
retell,
vocera,
synthflow,
elevenlabs,
bland,
custom
assistant_provider
enum<string>
default:self_hosted

Service provider for the AI assistant functionality

  • vapi - Vapi
  • retell - Retell
  • elevenlabs - Elevenlabs
  • vocera - Vocera
  • self_hosted - Self Hosted
Available options:
vapi,
retell,
elevenlabs,
vocera,
self_hosted
vapi_api_key
string

API key for VAPI service provider

retell_api_key
string

API key for Retell service provider

elevenlabs_api_key
string

API key for ElevenLabs voice synthesis service

bland_api_key
string

API key for Bland service provider

custom_provider_api_key
string

API key for custom service provider

custom_provider_data
string

Additional configuration data for custom service provider

synthflow_api_key
string

API key for Synthflow service provider

enabled_personalities
integer[]

Personality profiles enabled for this agent