Skip to main content
PUT
/
v1
/
simulation
/
scenarios
/
{scenario_id}
Update Simulation Scenario
curl --request PUT \
  --url https://api.eqho.ai/v1/simulation/scenarios/{scenario_id} \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "name": "<string>",
  "lead_scenario": {
    "instructions": {
      "task_instructions": "<string>",
      "language": "en",
      "reason_for_call": "<string>",
      "known_info": "<string>",
      "unknown_info": "<string>"
    },
    "persona": "<string>",
    "actions": {
      "terminate_call": {
        "name": "<string>",
        "slug": "<string>",
        "instructions": "<string>",
        "type": "call_transfer",
        "settings": {},
        "messages": {
          "start": "<string>",
          "completed": "<string>",
          "failed": "<string>",
          "delayed": "<string>"
        },
        "minimum_execution_time_milliseconds": 123,
        "delayed_timing_milliseconds": 123,
        "is_async": false,
        "non_live_llm_settings": {
          "model": "gpt-4o-mini",
          "temperature": 0,
          "reasoning": "none",
          "text_verbosity": "low"
        },
        "execution_type": "live",
        "response_mode": "interactive",
        "execution_order": 123
      }
    }
  },
  "scenario_set_id": "<string>",
  "folder": "Flight cancellation",
  "description": {
    "purpose": "Test that agent refuses cancellation with refund if criteria are not met"
  },
  "environment_setup": {
    "dynamic_variables": {
      "lead.custom_fields.membership_status": "gold"
    },
    "conversation_direction": "inbound",
    "conversation_medium": "chatbot",
    "action_mocks": {},
    "message_history": [
      {
        "role": "system",
        "content": "<string>"
      }
    ]
  },
  "evaluation_criteria": {
    "actions": [
      {
        "tool_call_id": "<string>",
        "name": "<string>",
        "arguments": {},
        "requestor": "assistant",
        "info": "<string>",
        "compare_args": [
          "<string>"
        ]
      }
    ],
    "nl_assertions": [
      "<string>"
    ]
  }
}
'
{
  "_id": "<string>",
  "account_id": "<string>",
  "name": "<string>",
  "lead_scenario": {
    "instructions": {
      "task_instructions": "<string>",
      "language": "en",
      "reason_for_call": "<string>",
      "known_info": "<string>",
      "unknown_info": "<string>"
    },
    "persona": "<string>",
    "actions": {
      "terminate_call": {
        "name": "<string>",
        "slug": "<string>",
        "instructions": "<string>",
        "type": "call_transfer",
        "settings": {},
        "messages": {
          "start": "<string>",
          "completed": "<string>",
          "failed": "<string>",
          "delayed": "<string>"
        },
        "minimum_execution_time_milliseconds": 123,
        "delayed_timing_milliseconds": 123,
        "is_async": false,
        "non_live_llm_settings": {
          "model": "gpt-4o-mini",
          "temperature": 0,
          "reasoning": "none",
          "text_verbosity": "low"
        },
        "execution_type": "live",
        "response_mode": "interactive",
        "execution_order": 123
      }
    }
  },
  "history": {
    "last_modified_at": "2023-11-07T05:31:56Z",
    "revision": 0,
    "created_at": "2023-11-07T05:31:56Z",
    "created_by": "unknown",
    "last_modified_by": "unknown"
  },
  "scenario_set_id": "<string>",
  "folder": "<string>",
  "description": {
    "purpose": "<string>",
    "notes": "<string>"
  },
  "environment_setup": {
    "dynamic_variables": {
      "lead.custom_fields.membership_status": "gold"
    },
    "conversation_direction": "inbound",
    "conversation_medium": "chatbot",
    "action_mocks": {},
    "message_history": [
      {
        "content": "<string>",
        "role": "system",
        "turn_idx": 123,
        "timestamp": "2023-11-07T05:31:56Z"
      }
    ]
  },
  "evaluation_criteria": {
    "actions": [
      {
        "tool_call_id": "<string>",
        "name": "<string>",
        "arguments": {},
        "requestor": "assistant",
        "info": "<string>",
        "compare_args": [
          "<string>"
        ]
      }
    ],
    "nl_assertions": [
      "<string>"
    ]
  }
}

Authorizations

X-API-KEY
string
header
required

Path Parameters

scenario_id
string
required
Required string length: 24

Body

application/json
name
string
required

Name of the simulation scenario

lead_scenario
SimulatedLeadScenario · object
required

User scenario. This information will be sent to the user simulator.

scenario_set_id
string | null

ID of the scenario set this scenario belongs to

Required string length: 24
folder
string | null

Folder to organize scenarios

Example:

"Flight cancellation"

description
ScenarioDescription · object

Description of the task. This can be sent to the evaluator.

Example:
{
"purpose": "Test that agent refuses cancellation with refund if criteria are not met"
}
environment_setup
CreateEnvironmentSetupRequest · object

Initial state of the simulation. Also, used to define action mocks and mention mocks.

evaluation_criteria
EvaluationCriteria · object

Evaluation criteria for the scenario. This will be sent to the evaluator.

Response

Successful Response

A simulation scenario template that defines how to simulate a conversation

See Also:

  • SimulationRunModel: Individual execution of this scenario
  • ScenarioSetModel: Grouping multiple scenarios together
  • SimulationResultsModel: Aggregated results from running scenarios
_id
string
required
account_id
string
required

Account ID that owns this simulation scenario

name
string
required

Human-readable scenario name

lead_scenario
SimulatedLeadScenario · object
required

User scenario. This information will be sent to the user simulator.

history
HistoryModel · object
required
scenario_set_id
string | null

ID of the scenario set this scenario belongs to

folder
string | null

Optional folder path for organizing scenarios in the UI

description
ScenarioDescription · object

Description of the task. This can be sent to the evaluator.

environment_setup
EnvironmentSetup · object

Initial state of the simulation. Also, used to define action mocks and mention mocks.

evaluation_criteria
EvaluationCriteria · object

Evaluation criteria for the scenario. This will be sent to the evaluator.