{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/CreateScenarioDTO", "title": "CreateScenarioDTO", "type": "object", "properties": { "name": { "type": "string", "description": "This is the name of the scenario.", "maxLength": 80, "example": "Health Enrollment - Eligible Path" }, "instructions": { "type": "string", "description": "This is the script/instructions for the tester to follow during the simulation.", "maxLength": 10000, "example": "You are calling to enroll in the Twin Health program. Confirm your identity when asked." }, "evaluations": { "description": "This is the structured output-based evaluation plan for the simulation.\nEach item defines a structured output to extract and evaluate against an expected value.", "type": "array", "items": { "$ref": "#/components/schemas/EvaluationPlanItem" } }, "hooks": { "type": "array", "description": "Hooks to run on simulation lifecycle events", "items": { "oneOf": [ { "$ref": "#/components/schemas/SimulationHookCallStarted", "title": "SimulationHookCallStarted" }, { "$ref": "#/components/schemas/SimulationHookCallEnded", "title": "SimulationHookCallEnded" } ] } }, "targetOverrides": { "description": "Overrides to inject into the simulated target assistant or squad", "example": { "variableValues": { "customerName": "Alice", "orderId": "12345" } }, "allOf": [ { "$ref": "#/components/schemas/AssistantOverrides" } ] }, "toolMocks": { "description": "Scenario-level tool call mocks to use during simulations.", "type": "array", "items": { "$ref": "#/components/schemas/ScenarioToolMock" } }, "path": { "type": "string", "nullable": true, "description": "Optional folder path for organizing scenarios.\nSupports up to 3 levels (e.g., \"dept/feature/variant\").\nMaps to GitOps resource folder structure.", "maxLength": 255, "pattern": "/^[a-zA-Z0-9][a-zA-Z0-9._-]*(?:\\/[a-zA-Z0-9][a-zA-Z0-9._-]*){0,2}$/" } }, "required": [ "name", "instructions", "evaluations" ] }