Your API key for authentication.
Body Parameters
The pathway to test. Either pathway_id or persona_id is required.
The persona to test. Either pathway_id or persona_id is required.
Name of the scenario. Must be unique within the pathway/persona.
Description of what the scenario tests.
One of: CUSTOM, VOICEMAIL, VOICEMAIL_SCREENER, ANGRY_CALLER, BELLIGERENT_CALLER, CONFUSED_CALLER, CALL_SCREENER, HAPPY_PATH, EDGE_CASE.
One of: AGENT, REPLAY, HISTORICAL.
Prompt instructing the simulated caller how to behave.
Display name for the tester persona.
Max conversation turns before the test ends. Maximum value is 50.
Custom request data to pass to the pathway (e.g., variables).
ID of the node to start the test from. Defaults to the pathway’s start node.
Enable Bland Tone naturalness scoring.
is_required_for_promotion
If true, this scenario must pass before the pathway can be promoted to production.
Pre-seeded messages for REPLAY scenarios.
Additional instructions for test execution.
Arbitrary metadata to attach to the scenario.
Array of assertion definitions.
The assertion type. One of: LLM_JUDGE, BLAND_TONE, VARIABLE_EXTRACTED, NODE_REACHED, NODES_VISITED, WEBHOOK_TRIGGERED, REGEX_MATCH, STRING_CHECK, CUSTOM_LLM, TRAVERSAL_MATCH.
Type-specific configuration for the assertion.
Display name for the assertion.
Whether this assertion must pass for the scenario to pass.
Weight of this assertion in the overall score.
Order in which the assertion is evaluated.
Response
Unique identifier for the created scenario.
Organization ID that owns this scenario.
The pathway ID being tested (null if testing a persona).
The persona ID being tested (null if testing a pathway).
Description of the scenario.
Prompt for the simulated caller.
Display name for the tester persona.
Maximum conversation turns.
Whether Bland Tone scoring is enabled.
is_required_for_promotion
Whether this scenario is required for promotion.
Whether the scenario is enabled.
Pre-seeded messages for replay scenarios.
Additional instructions for test execution.
Array of assertion objects.
Unique identifier for the assertion.
Display name for the assertion.
Type-specific configuration.
Whether this assertion must pass.
Weight of this assertion in the overall score.
ISO 8601 timestamp of when the scenario was created.
{
"id": "a1b2c3d4-5678-9abc-def0-1234567890ab",
"org_id": "b2c3d4e5-6789-abcd-ef01-234567890abc",
"pathway_id": "c3d4e5f6-789a-bcde-f012-34567890abcd",
"persona_id": null,
"name": "Angry Caller Test",
"description": "Tests the agent's ability to de-escalate an angry caller",
"category": "ANGRY_CALLER",
"scenario_type": "AGENT",
"tester_persona_prompt": "You are a frustrated customer who has been waiting on hold for 30 minutes. You are upset about a billing error on your account.",
"tester_persona_name": "Frustrated Customer",
"max_turns": 15,
"request_data": null,
"start_node_id": null,
"bland_tone_enabled": true,
"is_required_for_promotion": false,
"enabled": true,
"input_messages": null,
"advanced_instructions": null,
"metadata": null,
"assertions": [
{
"id": "d4e5f6a7-89ab-cdef-0123-4567890abcde",
"type": "LLM_JUDGE",
"name": "De-escalation",
"config": {
"prompt": "Did the agent successfully de-escalate the situation and address the customer's concerns?",
"output_type": "score",
"threshold": 0.7
},
"is_required": true,
"weight": 1.5,
"order": 0
}
],
"created_at": "2026-04-14T00:00:00.000Z"
}