Agents
Agents

Duplicate an agent

Create a new agent that is an exact copy of an existing agent — useful for A/B testing prompts or branching variants. Phone number assignments are not copied (assign new numbers to the duplicate via /v1/phone-numbers). The duplicate's name will have a (Copy) suffix.

post/v1/agents/{agent_id}/duplicate

Request

  • Base URL: https://api.call2me.app
  • URL: https://api.call2me.app/v1/agents/{agent_id}/duplicate
  • Auth: HTTP bearer

Path parameters

agent_idstring required

Response

A new agent that is a copy of the source.

agent_namestring required

Human-readable name for the agent

voice_idstring required

Voice identifier (e.g., 'openai-nova', 'azure-tr-emel')

languagestring

BCP-47 language code

voice_speednumber

Voice playback speed

responsivenessnumber

How quickly agent responds (0=slow, 1=immediate)

interruption_sensitivitynumber

How easily user can interrupt (0=hard, 1=easy)

enable_backchannelboolean

Enable 'uh-huh', 'hmm' responses

backchannel_frequencynumber

How often to backchannel (0=never, 1=always)

backchannel_wordsstring[]

Custom backchannel words (empty = use defaults for language)

begin_messagestring nullable

First message when call starts (used when begin_message_mode='static')

begin_message_modestring

'static': use begin_message as-is, 'dynamic': LLM generates greeting based on system prompt and call context

reminder_message_frequency_msinteger

Send reminder after this much silence (ms)

reminder_max_countinteger

Max reminder messages before ending call (0=disabled)

end_call_after_silence_msinteger

End call after this much silence (ms)

max_call_duration_msinteger

Maximum call duration (ms)

enable_recordingboolean

Enable call recording

enable_vcon_exportboolean

Allow exporting this agent's calls as vCon containers

webhook_urlstring nullable

URL for webhook events

transfer_targetsobject[] nullable

Transfer targets: [{'name': 'Support', 'type': 'phone|sip|agent|external|queue', 'value': '...'}]

post_call_extractionobject[] nullable

Fields to extract from call (e.g., [{'name': 'customer_name', 'type': 'string', 'description': 'Customer name'}])

post_call_extraction_modelstring nullable

LLM model for post-call extraction

post_call_actionsobject[] nullable

Actions triggered after call analysis. Format: [{'type': 'schedule_call', 'condition': 'callback_requested == true', 'config': {'delay_minutes': 60}}, {'type': 'webhook', 'condition': 'sale_completed == true', 'config': {'url': 'https://...'}}, {'type': 'schedule_call', 'condition': 'appointment_time != null', 'config': {'use_field': 'appointment_time'}}] Types: schedule_call, webhook, tag_contact

knowledge_base_idsstring[] nullable

Knowledge base IDs linked to this agent for RAG

kb_chunks_countinteger

Number of chunks to retrieve from knowledge base (1-10)

kb_similarity_thresholdnumber

Minimum similarity score for KB results (0.0-1.0)

background_sound'none' | 'office' | 'keyboard'

Background ambient sound during calls

end_call_mode'static' | 'dynamic'

End call message mode: 'static' for fixed message, 'dynamic' for AI-generated based on conversation

end_call_messagestring nullable

Static goodbye message (used when end_call_mode='static'). If empty, uses default localized message.

end_call_promptstring nullable

Prompt for generating dynamic goodbye message (used when end_call_mode='dynamic'). Example: 'Konuşmayı özetle ve nazik bir veda mesajı söyle.'

voicemail_detection_enabledboolean

Enable voicemail/answering machine detection

voicemail_detection_timeout_msinteger

Time to wait for human response after greeting (ms). If no speech detected, assume voicemail.

voicemail_action'hangup' | 'leave_message'

Action when voicemail detected: 'hangup' = end call, 'leave_message' = play message and hang up

voicemail_messagestring nullable

Message to leave on voicemail (used when voicemail_action='leave_message')

metadataobject nullable

Custom metadata for the agent

agent_idstring required

Unique agent identifier

user_idstring nullable

Owner user ID

statusstring

Agent status: active or inactive

created_atstring date-time required

Creation timestamp

updated_atstring date-time required

Last update timestamp

public_metadataobject nullable

Public-facing card metadata (emoji, title, order, visible) for end-user agent pickers.

Changes

No recorded changes to this operation across all 1 revision of this API.