Skip to main content
POST
/
v1
/
agent-testing
/
templates
/
{id}
/
clone
Clone Test Template
curl --request POST \
  --url https://api.bland.ai/v1/agent-testing/templates/{id}/clone \
  --header 'Content-Type: application/json' \
  --header 'authorization: <authorization>' \
  --data '
{
  "pathway_id": "<string>",
  "persona_id": "<string>",
  "name": "<string>",
  "description": "<string>",
  "tester_persona_prompt": "<string>",
  "max_turns": 123,
  "request_data": {},
  "start_node_id": "<string>",
  "bland_tone_enabled": true,
  "is_required_for_promotion": true
}
'
{
    "scenario": {
        "id": "scn_8f2a1b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
        "name": "Voicemail Detection",
        "description": "Simulates a voicemail greeting to verify the agent correctly detects and handles voicemail.",
        "category": "VOICEMAIL",
        "tester_persona_prompt": "You are a voicemail system. Greet the caller with a standard voicemail message: 'Hi, you've reached John. I'm not available right now. Please leave a message after the beep.' Then remain silent.",
        "tester_persona_name": "Voicemail System",
        "pathway_id": "pw_abc123",
        "persona_id": null,
        "max_turns": 4,
        "request_data": {},
        "start_node_id": null,
        "bland_tone_enabled": true,
        "is_required_for_promotion": false,
        "assertions": [
            {
                "type": "call_ended_by_agent",
                "config": {},
                "description": "Agent should hang up after detecting voicemail"
            },
            {
                "type": "latency_below",
                "config": {
                    "max_ms": 3000
                },
                "description": "Agent response latency stays below 3 seconds"
            }
        ],
        "created_at": "2026-04-14T18:30:00.000Z"
    }
}

Headers

authorization
string
required
Your API key for authentication.

Path Parameters

id
string
required
The template ID to clone.

Body

pathway_id
string
The pathway to bind the cloned scenario to. Either pathway_id or persona_id is required.
persona_id
string
The persona to bind the cloned scenario to. Either pathway_id or persona_id is required.
name
string
Override the template name. Defaults to the template’s original name.
description
string
Override the template description.
tester_persona_prompt
string
Override the tester persona prompt that drives the simulated caller’s behavior.
max_turns
integer
Override the maximum number of conversational turns before the test ends.
request_data
object
Override the request data passed to the agent during the test call.
start_node_id
string
Override the starting node for pathway-based scenarios.
bland_tone_enabled
boolean
Override the Bland Tone setting for the test call.
is_required_for_promotion
boolean
default:false
Whether to require this scenario to pass before a pathway can be promoted. Default false.

Response

scenario
object
The newly created scenario object cloned from the template.
  • id (string): The unique identifier for the new scenario.
  • name (string): The scenario name.
  • description (string): The scenario description.
  • category (string): The category inherited from the template.
  • tester_persona_prompt (string): The prompt driving the simulated caller.
  • tester_persona_name (string): The name of the simulated caller persona.
  • pathway_id (string): The pathway this scenario is bound to (if applicable).
  • persona_id (string): The persona this scenario is bound to (if applicable).
  • max_turns (integer): The maximum number of conversational turns.
  • request_data (object): The request data for the test call.
  • start_node_id (string): The starting node ID (if set).
  • bland_tone_enabled (boolean): Whether Bland Tone is enabled.
  • is_required_for_promotion (boolean): Whether this scenario is required for pathway promotion.
  • assertions (array): The assertion objects inherited from the template.
    • type (string): The assertion type.
    • config (object): Configuration specific to the assertion type.
    • description (string): A human-readable description of the assertion.
  • created_at (string): ISO 8601 timestamp of when the scenario was created.
{
    "scenario": {
        "id": "scn_8f2a1b3c-4d5e-6f7a-8b9c-0d1e2f3a4b5c",
        "name": "Voicemail Detection",
        "description": "Simulates a voicemail greeting to verify the agent correctly detects and handles voicemail.",
        "category": "VOICEMAIL",
        "tester_persona_prompt": "You are a voicemail system. Greet the caller with a standard voicemail message: 'Hi, you've reached John. I'm not available right now. Please leave a message after the beep.' Then remain silent.",
        "tester_persona_name": "Voicemail System",
        "pathway_id": "pw_abc123",
        "persona_id": null,
        "max_turns": 4,
        "request_data": {},
        "start_node_id": null,
        "bland_tone_enabled": true,
        "is_required_for_promotion": false,
        "assertions": [
            {
                "type": "call_ended_by_agent",
                "config": {},
                "description": "Agent should hang up after detecting voicemail"
            },
            {
                "type": "latency_below",
                "config": {
                    "max_ms": 3000
                },
                "description": "Agent response latency stays below 3 seconds"
            }
        ],
        "created_at": "2026-04-14T18:30:00.000Z"
    }
}