Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.
POST
/
test_framework
/
v1
/
scenarios
/
validate_scenarios_json
/
Validate a JSON test-suite spec without running it
How to reach the agent: 'voice' for a phone call (the default), 'text' for chat, 'elevenlabs' for an ElevenLabs WebRTC session, 'livekit_v2' or 'pipecat_v2' for their respective WebRTC sessions, or 'chirp' for the agent's raw-PCM WebSocket endpoint (CHIRP protocol).
Voice and text only. For an inbound voice agent, the number Cekura dials, in E.164 format; defaults to 'agent_number', then the agent's contact number. Rejected for outbound voice agents: set 'phone_number' per test case in the spec instead. For SMS and WhatsApp agents, the contact number for the conversation.
Voice, inbound agents only. 'same_number' (default) places every call from the same Cekura number; 'different_numbers' spreads them across the pool and cannot be combined with 'phone_number' in the spec.
Most calls started per second for this run, a number from 0.1 to 4 (e.g. 0.5 starts one call every 2 seconds). Overrides the spec's 'defaults.calls_per_second'. Leave both unset for no limit.
Optional CHIRP overrides. 'websocket_url' replaces the agent's stored raw-PCM WebSocket endpoint for this run only — for example a tunnel URL that changes on every CI run. Not part of the portable test-suite spec.
Show child attributes
Response
{dry_run, valid, plan}
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Cekura","colors":{"primary":"#8184FF","light":"#A6A7EA","dark":"#8184FF"},"favicon":"https://mintcdn.com/vocera/-ehbdLduj39oRXOg/logo/favicon.png?fit=max\u0026auto=format\u0026n=-ehbdLduj39oRXOg\u0026q=85\u0026s=e32d4e5dc1d57d5e2b2fc594b73f0bb2","logo":{"light":"https://mintcdn.com/vocera/NnWFOccGgHKr48PP/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=NnWFOccGgHKr48PP\u0026q=85\u0026s=fe825439de9afd1d121723398224f0fe","dark":"https://mintcdn.com/vocera/NnWFOccGgHKr48PP/logo/light.svg?fit=max\u0026auto=format\u0026n=NnWFOccGgHKr48PP\u0026q=85\u0026s=f71dda7aa2212d127512fb4e6b40961a"},"navbar":{"links":[{"label":"Support","href":"mailto:support@cekura.ai"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.cekura.ai"}},"footer":{"socials":{"x":"https://x.com/CekuraAI","linkedin":"https://www.linkedin.com/company/cekuraai"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"vocera","hasAudioNarration":false,"actualSubdomain":"vocera","customDomains":["docs.cekura.ai"],"gitSource":{"type":"github","owner":"cekura-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae5ac0dc23d1566bdfadf80","collectionId":"b07b1e2a-1fd5-4e4a-b4ca-f5dd5bee9ed6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae5ac0dc23d1566bdfadf80"},"feedback":{"edits":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae5ac0dc23d1566bdfadf80","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":412},{"language":"default","tag":"Documentation","count":106},{"language":"default","tag":"Evaluators","count":64},{"language":"default","tag":"Guides","count":40},{"language":"default","tag":"Metrics","count":37},{"language":"default","tag":"Others","count":35},{"language":"default","tag":"Integrations","count":27},{"language":"default","tag":"Testing","count":23},{"language":"default","tag":"Key Concepts","count":19},{"language":"default","tag":"Advanced","count":18}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#navbar img{height:36px}.dark #sidebar-group img{background-color:transparent!important}#content-container::before{content:\"\";position:fixed;top:-190px;right:0;width:40%;height:124%;opacity:.4;background-repeat:no-repeat;background-image:url(/images/bg-dark.png)}"}],"page":{"pagePath":"api-reference/test_framework/validate-scenarios-json","slug":"/api-reference/test_framework/validate-scenarios-json","pageMetadata":{"title":"Validate Scenarios JSON","description":"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use `scenarios_run_json` to execute one.","openapi":"post /test_framework/v1/scenarios/validate_scenarios_json/","slug":"validate-scenarios-json","href":"/api-reference/test_framework/validate-scenarios-json"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use \", _jsx(_components.code, {\n children: \"scenarios_run_json\"\n }), \" to execute one.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Validate Scenarios JSON","description":"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use `scenarios_run_json` to execute one.","openapi":"post /test_framework/v1/scenarios/validate_scenarios_json/","slug":"validate-scenarios-json","href":"/api-reference/test_framework/validate-scenarios-json"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/vocera/b06c8fbedf65997d/old-api-docs.js"],"openApiReferenceData":{"operation":{"operationId":"scenarios-validate-json_2","description":"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use `scenarios_run_json` to execute one.","summary":"Validate a JSON test-suite spec without running it","tags":["test_framework"],"requestBody":"e6a4f200-3d54-4f6e-a24f-bcfb41cd6f69","security":["bd435d0b-fbcf-43ad-be13-162096b71b85","8f2e1be0-952a-4276-ad9e-fa26d03f976b","970c3eac-256e-4404-9510-c500915022b9"],"responses":{"200":"4684a7cf-d517-40c5-abca-a49683d23f31","400":"6a3c144d-ca22-4440-9e1d-6d9773d76d10"},"x-mcp-tool-name":"scenarios_validate_json","method":"post","type":"path","servers":["92d88987-3796-4a90-8543-6c8327ed8d04"],"path":"/test_framework/v1/scenarios/validate_scenarios_json/","baseUrlOptions":["https://api.cekura.ai"],"title":"Validate a JSON test-suite spec without running it","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Accepts a spec as a JSON body or an uploaded file.\n\nCI posts JSON directly; the dashboard uploads the same file the customer has\nin their repo. Both land in ``spec``.","properties":{"spec":{"description":"The test-suite spec. Use this when posting JSON directly.","uniqueKey":"spec","typeLabel":"any"},"file":{"type":"string","format":"uri","description":"A .json spec file. Use this instead of 'spec' for uploads.","uniqueKey":"file","typeLabel":"string\u003curi>"},"agent_id":{"type":"integer","description":"Agent to test. Overrides 'agent_id' in the spec, letting one spec file run against several environments.","uniqueKey":"agent_id","typeLabel":"integer"},"name":{"type":"string","description":"Label for this run. Defaults to the spec's suite name.","maxLength":255,"uniqueKey":"name","typeLabel":"string"},"channel":{"enum":["voice","text","elevenlabs","livekit_v2","pipecat_v2","chirp"],"type":"string","x-spec-enum-id":"f3792208475360d6","description":"How to reach the agent: 'voice' for a phone call (the default), 'text' for chat, 'elevenlabs' for an ElevenLabs WebRTC session, 'livekit_v2' or 'pipecat_v2' for their respective WebRTC sessions, or 'chirp' for the agent's raw-PCM WebSocket endpoint (CHIRP protocol).\n\n* `voice` - voice\n* `text` - text\n* `elevenlabs` - elevenlabs\n* `livekit_v2` - livekit_v2\n* `pipecat_v2` - pipecat_v2\n* `chirp` - chirp","uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"frequency":{"type":"integer","minimum":1,"description":"Run every test case this many times, on top of each case's own 'frequency' in the spec. Default 1.","uniqueKey":"frequency","typeLabel":"integer"},"agent_number":{"type":"string","description":"Voice and text only. The agent's phone number for this run, in E.164 format, overriding the agent's configured contact number.","uniqueKey":"agent_number","typeLabel":"string"},"outbound_phone_number":{"type":"string","description":"Voice and text only. For an inbound voice agent, the number Cekura dials, in E.164 format; defaults to 'agent_number', then the agent's contact number. Rejected for outbound voice agents: set 'phone_number' per test case in the spec instead. For SMS and WhatsApp agents, the contact number for the conversation.","uniqueKey":"outbound_phone_number","typeLabel":"string"},"mode":{"enum":["same_number","different_numbers"],"type":"string","x-spec-enum-id":"9ea0c9743bd9d873","description":"Voice, inbound agents only. 'same_number' (default) places every call from the same Cekura number; 'different_numbers' spreads them across the pool and cannot be combined with 'phone_number' in the spec.\n\n* `same_number` - same_number\n* `different_numbers` - different_numbers","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"concurrency_limit":{"type":"integer","minimum":1,"description":"Cap on the number of runs executed in parallel. Overrides the spec's 'defaults.concurrency_limit'.","uniqueKey":"concurrency_limit","typeLabel":"integer"},"calls_per_second":{"type":"number","format":"double","maximum":4,"minimum":0.1,"description":"Most calls started per second for this run, a number from 0.1 to 4 (e.g. 0.5 starts one call every 2 seconds). Overrides the spec's 'defaults.calls_per_second'. Leave both unset for no limit.","uniqueKey":"calls_per_second","typeLabel":"number\u003cdouble>"},"mock_tool_names":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"mock_tool_names.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.1","typeLabel":"null"}],"uniqueKey":"mock_tool_names","typeLabel":"string[] | null"},"livekit_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"livekit_data.additionalProperties","typeLabel":"any"},"description":"Optional LiveKit overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"livekit_data","typeLabel":"object"},"pipecat_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"pipecat_data.additionalProperties","typeLabel":"any"},"description":"Optional Pipecat Cloud overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"pipecat_data","typeLabel":"object"},"chirp_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"chirp_data.additionalProperties","typeLabel":"any"},"description":"Optional CHIRP overrides. 'websocket_url' replaces the agent's stored raw-PCM WebSocket endpoint for this run only — for example a tunnel URL that changes on every CI run. Not part of the portable test-suite spec.","uniqueKey":"chirp_data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"spec":"\u003cunknown>","file":"\u003cstring>","agent_id":123,"name":"\u003cstring>","frequency":2,"agent_number":"\u003cstring>","outbound_phone_number":"\u003cstring>","concurrency_limit":2,"calls_per_second":2.05,"mock_tool_names":["\u003cstring>"],"livekit_data":{},"pipecat_data":{},"chirp_data":{}}}},"exampleType":"generated"},"application/x-www-form-urlencoded":{"schema":{"type":"object","description":"Accepts a spec as a JSON body or an uploaded file.\n\nCI posts JSON directly; the dashboard uploads the same file the customer has\nin their repo. Both land in ``spec``.","properties":{"spec":{"description":"The test-suite spec. Use this when posting JSON directly.","uniqueKey":"spec","typeLabel":"any"},"file":{"type":"string","format":"uri","description":"A .json spec file. Use this instead of 'spec' for uploads.","uniqueKey":"file","typeLabel":"string\u003curi>"},"agent_id":{"type":"integer","description":"Agent to test. Overrides 'agent_id' in the spec, letting one spec file run against several environments.","uniqueKey":"agent_id","typeLabel":"integer"},"name":{"type":"string","description":"Label for this run. Defaults to the spec's suite name.","maxLength":255,"uniqueKey":"name","typeLabel":"string"},"channel":{"enum":["voice","text","elevenlabs","livekit_v2","pipecat_v2","chirp"],"type":"string","x-spec-enum-id":"f3792208475360d6","description":"How to reach the agent: 'voice' for a phone call (the default), 'text' for chat, 'elevenlabs' for an ElevenLabs WebRTC session, 'livekit_v2' or 'pipecat_v2' for their respective WebRTC sessions, or 'chirp' for the agent's raw-PCM WebSocket endpoint (CHIRP protocol).\n\n* `voice` - voice\n* `text` - text\n* `elevenlabs` - elevenlabs\n* `livekit_v2` - livekit_v2\n* `pipecat_v2` - pipecat_v2\n* `chirp` - chirp","uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"frequency":{"type":"integer","minimum":1,"description":"Run every test case this many times, on top of each case's own 'frequency' in the spec. Default 1.","uniqueKey":"frequency","typeLabel":"integer"},"agent_number":{"type":"string","description":"Voice and text only. The agent's phone number for this run, in E.164 format, overriding the agent's configured contact number.","uniqueKey":"agent_number","typeLabel":"string"},"outbound_phone_number":{"type":"string","description":"Voice and text only. For an inbound voice agent, the number Cekura dials, in E.164 format; defaults to 'agent_number', then the agent's contact number. Rejected for outbound voice agents: set 'phone_number' per test case in the spec instead. For SMS and WhatsApp agents, the contact number for the conversation.","uniqueKey":"outbound_phone_number","typeLabel":"string"},"mode":{"enum":["same_number","different_numbers"],"type":"string","x-spec-enum-id":"9ea0c9743bd9d873","description":"Voice, inbound agents only. 'same_number' (default) places every call from the same Cekura number; 'different_numbers' spreads them across the pool and cannot be combined with 'phone_number' in the spec.\n\n* `same_number` - same_number\n* `different_numbers` - different_numbers","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"concurrency_limit":{"type":"integer","minimum":1,"description":"Cap on the number of runs executed in parallel. Overrides the spec's 'defaults.concurrency_limit'.","uniqueKey":"concurrency_limit","typeLabel":"integer"},"calls_per_second":{"type":"number","format":"double","maximum":4,"minimum":0.1,"description":"Most calls started per second for this run, a number from 0.1 to 4 (e.g. 0.5 starts one call every 2 seconds). Overrides the spec's 'defaults.calls_per_second'. Leave both unset for no limit.","uniqueKey":"calls_per_second","typeLabel":"number\u003cdouble>"},"mock_tool_names":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"mock_tool_names.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.1","typeLabel":"null"}],"uniqueKey":"mock_tool_names","typeLabel":"string[] | null"},"livekit_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"livekit_data.additionalProperties","typeLabel":"any"},"description":"Optional LiveKit overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"livekit_data","typeLabel":"object"},"pipecat_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"pipecat_data.additionalProperties","typeLabel":"any"},"description":"Optional Pipecat Cloud overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"pipecat_data","typeLabel":"object"},"chirp_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"chirp_data.additionalProperties","typeLabel":"any"},"description":"Optional CHIRP overrides. 'websocket_url' replaces the agent's stored raw-PCM WebSocket endpoint for this run only — for example a tunnel URL that changes on every CI run. Not part of the portable test-suite spec.","uniqueKey":"chirp_data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"spec":"\u003cunknown>","file":"\u003cstring>","agent_id":123,"name":"\u003cstring>","frequency":2,"agent_number":"\u003cstring>","outbound_phone_number":"\u003cstring>","concurrency_limit":2,"calls_per_second":2.05,"mock_tool_names":["\u003cstring>"],"livekit_data":{},"pipecat_data":{},"chirp_data":{}}}},"exampleType":"generated"},"multipart/form-data":{"schema":{"type":"object","description":"Accepts a spec as a JSON body or an uploaded file.\n\nCI posts JSON directly; the dashboard uploads the same file the customer has\nin their repo. Both land in ``spec``.","properties":{"spec":{"description":"The test-suite spec. Use this when posting JSON directly.","uniqueKey":"spec","typeLabel":"any"},"file":{"type":"string","format":"uri","description":"A .json spec file. Use this instead of 'spec' for uploads.","uniqueKey":"file","typeLabel":"string\u003curi>"},"agent_id":{"type":"integer","description":"Agent to test. Overrides 'agent_id' in the spec, letting one spec file run against several environments.","uniqueKey":"agent_id","typeLabel":"integer"},"name":{"type":"string","description":"Label for this run. Defaults to the spec's suite name.","maxLength":255,"uniqueKey":"name","typeLabel":"string"},"channel":{"enum":["voice","text","elevenlabs","livekit_v2","pipecat_v2","chirp"],"type":"string","x-spec-enum-id":"f3792208475360d6","description":"How to reach the agent: 'voice' for a phone call (the default), 'text' for chat, 'elevenlabs' for an ElevenLabs WebRTC session, 'livekit_v2' or 'pipecat_v2' for their respective WebRTC sessions, or 'chirp' for the agent's raw-PCM WebSocket endpoint (CHIRP protocol).\n\n* `voice` - voice\n* `text` - text\n* `elevenlabs` - elevenlabs\n* `livekit_v2` - livekit_v2\n* `pipecat_v2` - pipecat_v2\n* `chirp` - chirp","uniqueKey":"channel","typeLabel":"enum\u003cstring>"},"frequency":{"type":"integer","minimum":1,"description":"Run every test case this many times, on top of each case's own 'frequency' in the spec. Default 1.","uniqueKey":"frequency","typeLabel":"integer"},"agent_number":{"type":"string","description":"Voice and text only. The agent's phone number for this run, in E.164 format, overriding the agent's configured contact number.","uniqueKey":"agent_number","typeLabel":"string"},"outbound_phone_number":{"type":"string","description":"Voice and text only. For an inbound voice agent, the number Cekura dials, in E.164 format; defaults to 'agent_number', then the agent's contact number. Rejected for outbound voice agents: set 'phone_number' per test case in the spec instead. For SMS and WhatsApp agents, the contact number for the conversation.","uniqueKey":"outbound_phone_number","typeLabel":"string"},"mode":{"enum":["same_number","different_numbers"],"type":"string","x-spec-enum-id":"9ea0c9743bd9d873","description":"Voice, inbound agents only. 'same_number' (default) places every call from the same Cekura number; 'different_numbers' spreads them across the pool and cannot be combined with 'phone_number' in the spec.\n\n* `same_number` - same_number\n* `different_numbers` - different_numbers","uniqueKey":"mode","typeLabel":"enum\u003cstring>"},"concurrency_limit":{"type":"integer","minimum":1,"description":"Cap on the number of runs executed in parallel. Overrides the spec's 'defaults.concurrency_limit'.","uniqueKey":"concurrency_limit","typeLabel":"integer"},"calls_per_second":{"type":"number","format":"double","maximum":4,"minimum":0.1,"description":"Most calls started per second for this run, a number from 0.1 to 4 (e.g. 0.5 starts one call every 2 seconds). Overrides the spec's 'defaults.calls_per_second'. Leave both unset for no limit.","uniqueKey":"calls_per_second","typeLabel":"number\u003cdouble>"},"mock_tool_names":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"mock_tool_names.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.0","typeLabel":"string[]"},{"type":"null","items":{"type":"string"},"description":"Names of mock tools to activate for this run. Omit (or send null) to mock every tool configured on the agent; send an empty list to mock none.","uniqueKey":"mock_tool_names.oneOf.1","typeLabel":"null"}],"uniqueKey":"mock_tool_names","typeLabel":"string[] | null"},"livekit_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"livekit_data.additionalProperties","typeLabel":"any"},"description":"Optional LiveKit overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"livekit_data","typeLabel":"object"},"pipecat_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"pipecat_data.additionalProperties","typeLabel":"any"},"description":"Optional Pipecat Cloud overrides. These apply only to this run and are not part of the portable test-suite spec.","uniqueKey":"pipecat_data","typeLabel":"object"},"chirp_data":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"chirp_data.additionalProperties","typeLabel":"any"},"description":"Optional CHIRP overrides. 'websocket_url' replaces the agent's stored raw-PCM WebSocket endpoint for this run only — for example a tunnel URL that changes on every CI run. Not part of the portable test-suite spec.","uniqueKey":"chirp_data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"spec":"\u003cunknown>","file":"\u003cstring>","agent_id":123,"name":"\u003cstring>","frequency":2,"agent_number":"\u003cstring>","outbound_phone_number":"\u003cstring>","concurrency_limit":2,"calls_per_second":2.05,"mock_tool_names":["\u003cstring>"],"livekit_data":{},"pipecat_data":{},"chirp_data":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"4684a7cf-d517-40c5-abca-a49683d23f31":{"description":"{dry_run, valid, plan}","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"6a3c144d-ca22-4440-9e1d-6d9773d76d10":{"content":{"application/json":{"schema":{"type":"object","properties":{"field_name":{"type":"array","items":{"type":"string","uniqueKey":"field_name.items.[INDEX]","typeLabel":"string"},"uniqueKey":"field_name","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"field_name":["\u003cstring>"]}}},"exampleType":"generated"}},"description":"","exampleType":"generated"}},"security":{"bd435d0b-fbcf-43ad-be13-162096b71b85":{"api_key":{"type":"apiKey","in":"header","name":"X-CEKURA-API-KEY","description":"API Key Authentication. It should be included in the header of each request.","scopes":[],"schemeName":"api_key"}},"8f2e1be0-952a-4276-ad9e-fa26d03f976b":{"oauth2":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth access token issued by Cekura for connected apps.","scopes":[],"schemeName":"oauth2"}},"970c3eac-256e-4404-9510-c500915022b9":{"supabase_session":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Cekura dashboard session token. Not a customer API credential.","scopes":[],"schemeName":"supabase_session"}}},"servers":{"92d88987-3796-4a90-8543-6c8327ed8d04":{"url":"https://api.cekura.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-CEKURA-API-KEY","description":"API Key Authentication. It should be included in the header of each request.","scopes":[],"schemeName":"api_key"},"schema":{"title":"X-CEKURA-API-KEY","type":"string","description":"API Key Authentication. It should be included in the header of each request.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"api_key","name":"X-CEKURA-API-KEY"}],"title":"api_key"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"OAuth access token issued by Cekura for connected apps.","scopes":[],"schemeName":"oauth2"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"OAuth access token issued by Cekura for connected apps.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Cekura dashboard session token. Not a customer API credential.","scopes":[],"schemeName":"supabase_session"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Cekura dashboard session token. Not a customer API credential.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"supabase_session","name":"Authorization"}],"title":"supabase_session"}]},"originalFileLocation":"openapi.json"},"subdomain":"vocera","siteName":"Cekura","title":"Validate Scenarios JSON - Cekura","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-17T11:32:39.818Z","originalFileLocation":"api-reference/test_framework/validate-scenarios-json.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cekura\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Validate Scenarios JSON - Cekura\">\u003cmeta data-mint-head property=\"og:description\" content=\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cekura\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://vocera.mintlify.app/_mintlify/api/og/v2?division=Evaluators\u0026amp;title=Validate+Scenarios+JSON\u0026amp;description=Check+a+spec+against+the+agent+it+targets%3A+metric+slugs%2C+personalities%2C+test+profiles%2C+channel+support+and+every+tag.+Returns+the+plan+a+run+would+follow%2C+with+\u0026amp;theme=799cf4f496cc6ad08a57f778\u0026amp;signature=c91d3810fcef87ce392a7db34f85004b356e1e4f9717607184fc7992d5f791e6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Validate Scenarios JSON - Cekura\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://vocera.mintlify.app/_mintlify/api/og/v2?division=Evaluators\u0026amp;title=Validate+Scenarios+JSON\u0026amp;description=Check+a+spec+against+the+agent+it+targets%3A+metric+slugs%2C+personalities%2C+test+profiles%2C+channel+support+and+every+tag.+Returns+the+plan+a+run+would+follow%2C+with+\u0026amp;theme=799cf4f496cc6ad08a57f778\u0026amp;signature=c91d3810fcef87ce392a7db34f85004b356e1e4f9717607184fc7992d5f791e6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/vocera/YLwQi89HOY9MYteg/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cekura\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8184FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/test_framework/validate-scenarios-json.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cekura.ai/#organization\",\"name\":\"Cekura\",\"url\":\"https://docs.cekura.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/vocera/NnWFOccGgHKr48PP/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=NnWFOccGgHKr48PP\u0026q=85\u0026s=fe825439de9afd1d121723398224f0fe\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cekura.ai#website\",\"name\":\"Cekura\",\"url\":\"https://docs.cekura.ai\",\"publisher\":{\"@id\":\"https://docs.cekura.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json#webpage\",\"url\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json\",\"name\":\"Validate Scenarios JSON\",\"description\":\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.\",\"dateModified\":\"2026-09-17T11:32:39.818Z\",\"isPartOf\":{\"@id\":\"https://docs.cekura.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.cekura.ai/api-reference/observability/send-calls\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Evaluators\",\"item\":\"https://docs.cekura.ai/api-reference/test_framework/get-evaluator\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Validate Scenarios JSON\",\"item\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json#apireference\",\"headline\":\"Validate Scenarios JSON\",\"name\":\"Validate Scenarios JSON\",\"description\":\"Check a spec against the agent it targets: metric slugs, personalities, test profiles, channel support and every tag. Returns the plan a run would follow, with case count and estimated cost. Creates nothing and places no calls. Use this before committing a suite or opening a pull request; use scenarios_run_json to execute one.\",\"url\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cekura.ai/api-reference/test_framework/validate-scenarios-json#webpage\"},\"dateModified\":\"2026-09-17T11:32:39.818Z\",\"publisher\":{\"@id\":\"https://docs.cekura.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cekura.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Cekura\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Cekura","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/documentation/introduction"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"group":"Calls","pages":[{"title":"Send Calls","openapi":"post /observability/v1/observe/","href":"/api-reference/observability/send-calls"},{"title":"Get Call","openapi":"get /observability/v2/call-logs/{id}/","href":"/api-reference/observability/get-call"},{"title":"List Calls","openapi":"get /observability/v2/call-logs/","href":"/api-reference/observability/list-calls"},{"title":"Update Call Log","openapi":"patch /observability/v2/call-logs/{id}/","href":"/api-reference/observability/update-call-log"},{"title":"Reevaluate Calls","openapi":"post /observability/v1/call-logs/rerun_evaluation/","href":"/api-reference/observability/reevaluate-calls"},{"title":"Evaluate Metrics","openapi":"post /observability/v1/call-logs/evaluate_metrics/","href":"/api-reference/observability/evaluate-metrics"},{"title":"Vote on Call Log Metric","openapi":"post /observability/v1/call-logs/{id}/mark_metric_vote/","href":"/api-reference/observability/vote-call-log-metric"},{"title":"Delete Call","openapi":"delete /observability/v1/call-logs/{id}/","href":"/api-reference/observability/delete-call"},{"title":"Get Call Log Trace","openapi":"get /observability/v1/call-logs/{id}/trace/","href":"/api-reference/observability/get-call-log-trace"},{"title":"Retrieve Execution Logs for a Call Log","openapi":"get /observability/v1/call-logs/{id}/logs/","href":"/api-reference/observability/get-call-log-logs"}]},{"group":"Agents","pages":[{"title":"Get Agent","openapi":"get /test_framework/v2/aiagents/{id}/","href":"/api-reference/test_framework/get-agent"},{"title":"List Agents","openapi":"get /test_framework/v2/aiagents/","href":"/api-reference/test_framework/list-agents"},{"title":"Create Agent","openapi":"post /test_framework/v2/aiagents/","href":"/api-reference/test_framework/create-agent"},{"title":"Update Agent (Partial)","openapi":"patch /test_framework/v2/aiagents/{id}/","href":"/api-reference/test_framework/update-agent-partial"},{"title":"Update Agent (Full)","openapi":"put /test_framework/v2/aiagents/{id}/","href":"/api-reference/test_framework/update-agent-full"},{"title":"Delete Agent","openapi":"delete /test_framework/v2/aiagents/{id}/","href":"/api-reference/test_framework/delete-agent"},{"title":"Duplicate Agent","openapi":"post /test_framework/v2/aiagents/{id}/duplicate/","href":"/api-reference/test_framework/duplicate-agent"},{"title":"Auto-fetch Agent from Provider","openapi":"post /test_framework/v2/aiagents/{id}/auto-fetch/","href":"/api-reference/test_framework/auto-fetch-agent"},{"title":"Poll Agent Auto-fetch Progress","openapi":"get /test_framework/v2/aiagents/{id}/auto-fetch-progress/","href":"/api-reference/test_framework/poll-import-progress"},{"title":"List Provider Assistants","openapi":"get /test_framework/v2/aiagents/provider-assistants/","href":"/api-reference/test_framework/list-provider-assistants"},{"title":"Auto-fetch Agent V3","openapi":"post /test_framework/v3/aiagents/{id}/auto-fetch/","href":"/api-reference/test_framework/auto-fetch-agent-v3"},{"title":"Create Agent v3","openapi":"post /test_framework/v3/aiagents/","href":"/api-reference/test_framework/create-agent-v3"}]},{"group":"Metrics","pages":[{"title":"Get Metric","openapi":"get /test_framework/v2/metrics/{id}/","href":"/api-reference/test_framework/get-metric"},{"title":"List Metrics","openapi":"get /test_framework/v2/metrics/","href":"/api-reference/test_framework/list-metrics"},{"title":"Create Metric","openapi":"post /test_framework/v2/metrics/","href":"/api-reference/test_framework/create-metric"},{"title":"Update Metric","openapi":"patch /test_framework/v2/metrics/{id}/","href":"/api-reference/test_framework/update-metric"},{"title":"Delete Metric","openapi":"delete /test_framework/v1/metrics/{id}/","href":"/api-reference/test_framework/delete-metric"},{"title":"Generate Metrics","openapi":"post /test_framework/v1/metrics/generate_metrics/","href":"/api-reference/test_framework/generate-metrics"},{"title":"Get Generate Metrics Progress","openapi":"get /test_framework/v1/metrics/generate_metrics_progress/","href":"/api-reference/test_framework/generate-metrics-progress"},{"title":"Generate Clean Metric Description","openapi":"post /test_framework/v1/metrics/generate_clean_description/","href":"/api-reference/test_framework/generate-metric-description"},{"title":"Generate Metric Evaluation Trigger","openapi":"post /test_framework/v1/metrics/generate_evaluation_trigger/","href":"/api-reference/test_framework/generate-evaluation-trigger"},{"title":"Simplify Metric Prompt with AI","openapi":"post /test_framework/v1/metrics/simplify_prompt/","href":"/api-reference/test_framework/simplify-metric-prompt"},{"title":"Poll Simplify Metric Prompt Progress","openapi":"get /test_framework/v1/metrics/simplify_prompt_progress/","href":"/api-reference/test_framework/simplify-metric-prompt-progress"},{"title":"Create Metrics in Bulk","openapi":"post /test_framework/v1/metrics/bulk_create/","href":"/api-reference/test_framework/create-metrics-in-bulk"},{"title":"List Critical Metric Scenarios","openapi":"get /test_framework/v1/critical-metric-scenarios/","href":"/api-reference/test_framework/list-critical-metric-scenarios"},{"title":"Update Critical Metric Scenario","openapi":"patch /test_framework/v1/critical-metric-scenarios/{id}/","href":"/api-reference/test_framework/update-critical-metric-scenario"},{"title":"Preview Metric","openapi":"post /test_framework/v1/metrics/preview/","href":"/api-reference/test_framework/metric-preview"},{"title":"Get Metric Preview Progress","openapi":"get /test_framework/v1/metrics/preview-progress/","href":"/api-reference/test_framework/metric-preview-progress"},{"title":"Start Async Metric Description Generation","openapi":"post /test_framework/v1/metrics/generate_clean_description_bg/","href":"/api-reference/test_framework/start-async-metric-description-generation"},{"title":"Poll Async Metric Description Generation Progress","openapi":"get /test_framework/v1/metrics/generate_clean_description_progress/","href":"/api-reference/test_framework/poll-async-metric-description-generation-progress"},{"title":"Reorder External Metrics","openapi":"patch /test_framework/v1/metrics-external/reorder/","href":"/api-reference/test_framework/reorder-external-metrics"},{"title":"Reorder Metrics","openapi":"patch /test_framework/v1/metrics/reorder/","href":"/api-reference/test_framework/reorder-metrics"},{"title":"Reorder Metrics V2","openapi":"patch /test_framework/v2/metrics/reorder/","href":"/api-reference/test_framework/reorder-metrics-v2"},{"title":"Generate Clean Metric Description V3","openapi":"post /test_framework/v3/metrics/generate_clean_description/","href":"/api-reference/test_framework/generate-clean-metric-description-v3"},{"title":"Generate Metrics V3","openapi":"post /test_framework/v3/metrics/generate_metrics/","href":"/api-reference/test_framework/generate-metrics-v3"},{"title":"Preview Metric V3","openapi":"post /test_framework/v3/metrics/preview/","href":"/api-reference/test_framework/preview-metric-v3"},{"title":"Simplify Metric Prompt V3","openapi":"post /test_framework/v3/metrics/simplify_prompt/","href":"/api-reference/test_framework/simplify-metric-prompt-v3"}]},{"group":"Labs","pages":[{"title":"Create Test Set from Run","openapi":"post /test_framework/test-sets/create_from_run/","href":"/api-reference/test_framework/post-test_frameworktest-setscreate_from_run"},{"title":"Create Test Set from Call Log","openapi":"post /test_framework/test-sets/create_from_call_log/","href":"/api-reference/test_framework/post-test_frameworktest-setscreate_from_call_log"},{"title":"Update Metric Review","openapi":"patch /test_framework/metric-reviews/{id}/","href":"/api-reference/test_framework/metric-review-update"},{"title":"Run Metric Reviews","openapi":"post /test_framework/v1/metrics/{id}/run_reviews/","href":"/api-reference/test_framework/post-test_frameworkmetrics-run_reviews"},{"title":"Get Metric Review Progress","openapi":"get /test_framework/v1/metrics/run_reviews_progress/","href":"/api-reference/test_framework/metric-run-reviews-progress"},{"title":"Auto-Improve Metric","openapi":"post /test_framework/metric-reviews/process_feedbacks/","href":"/api-reference/test_framework/metric-review-process-feedbacks"},{"title":"Get Auto-Improve Progress","openapi":"get /test_framework/metric-reviews/process_feedbacks_progress/","href":"/api-reference/test_framework/metric-review-process-feedbacks-progress"},{"title":"Process Feedbacks Answer","openapi":"post /test_framework/metric-reviews/process_feedbacks_answer/","href":"/api-reference/test_framework/metric-reviews-process-feedbacks-answer"},{"title":"Run Metric Reviews V3","openapi":"post /test_framework/v3/metrics/{id}/run_reviews/","href":"/api-reference/test_framework/run-metric-reviews-v3"}]},{"group":"Evaluators","pages":[{"title":"Get Evaluator","openapi":"get /test_framework/v1/scenarios/{id}/","href":"/api-reference/test_framework/get-evaluator"},{"title":"List Evaluators","openapi":"get /test_framework/v1/scenarios/","href":"/api-reference/test_framework/list-evaluators"},{"title":"Create Evaluator","openapi":"post /test_framework/v1/scenarios/","href":"/api-reference/test_framework/create-evaluator"},{"title":"Update Evaluator","openapi":"patch /test_framework/v1/scenarios/{id}/","href":"/api-reference/test_framework/update-evaluator"},{"title":"Delete Evaluator","openapi":"delete /test_framework/v1/scenarios/{id}/","href":"/api-reference/test_framework/delete-evaluator"},{"title":"Run Evaluator Voice","openapi":"post /test_framework/v1/scenarios/run_scenarios/","href":"/api-reference/test_framework/run-evaluator-voice"},{"title":"Run Evaluator Text","openapi":"post /test_framework/v1/scenarios/run_scenarios_text/","href":"/api-reference/test_framework/run-evaluator-text"},{"title":"Run Evaluator Email","openapi":"post /test_framework/v1/scenarios/run_scenarios_email/","href":"/api-reference/test_framework/run-evaluator-email"},{"title":"Run Evaluator Websocket","openapi":"post /test_framework/v1/scenarios/run_scenarios_with_websockets/","href":"/api-reference/test_framework/run-evaluator-websocket"},{"title":"Run Evaluator Pipecat","openapi":"post /test_framework/v1/scenarios/run_scenarios_pipecat/","href":"/api-reference/test_framework/run-evaluator-pipecat"},{"title":"Run Evaluator VAPI WebRTC","openapi":"post /test_framework/v1/scenarios/run_scenarios_vapi_webrtc/","href":"/api-reference/test_framework/run-evaluator-vapi-webrtc"},{"title":"Run Evaluator Retell WebRTC","openapi":"post /test_framework/v1/scenarios/run_scenarios_retell_webrtc/","href":"/api-reference/test_framework/run-evaluator-retell-webrtc"},{"title":"Run Evaluator ElevenLabs","openapi":"post /test_framework/v1/scenarios/run_scenarios_elevenlabs/","href":"/api-reference/test_framework/run-evaluator-elevenlabs"},{"title":"Run Evaluator CHIRP","openapi":"post /test_framework/v1/scenarios/run_scenarios_chirp/","href":"/api-reference/test_framework/run-evaluator-chirp"},{"title":"Run Evaluator LiveKit (v2)","openapi":"post /test_framework/v1/scenarios/run_scenarios_livekit_v2/","href":"/api-reference/test_framework/run-evaluator-livekit-v2"},{"title":"Run Evaluator Pipecat Cloud (v2)","openapi":"post /test_framework/v1/scenarios/run_scenarios_pipecat_v2/","href":"/api-reference/test_framework/run-evaluator-pipecat-v2"},{"title":"Run Evaluator SIP","openapi":"post /test_framework/v1/scenarios/run_scenarios_sip/","href":"/api-reference/test_framework/run-evaluator-sip"},{"title":"Bulk Update Evaluators","openapi":"post /test_framework/v1/scenarios/adv_update/","href":"/api-reference/test_framework/bulk-update-scenarios"},{"title":"Bulk Delete Evaluators","openapi":"post /test_framework/v1/scenarios/delete_scenarios/","href":"/api-reference/test_framework/bulk-delete-scenarios"},{"title":"Create Evaluator from Transcript","openapi":"post /test_framework/v1/scenarios/create-from-transcript-bg/","href":"/api-reference/test_framework/create-evaluator-from-transcript-bg"},{"title":"Get Create-from-Transcript Progress","openapi":"get /test_framework/v1/scenarios/create-from-transcript-progress/","href":"/api-reference/test_framework/create-evaluator-from-transcript-progress"},{"title":"Create Cronjob","openapi":"post /schedules/v1/cron-jobs/","href":"/api-reference/schedules/create-cronjob"},{"group":"Improve Evaluators","pages":[{"title":"Improve Evaluators with AI","openapi":"post /test_framework/v1/scenarios/scenario-agent/","href":"/api-reference/test_framework/improve-evaluators"},{"title":"Poll Improvement Progress","openapi":"get /test_framework/v1/scenarios/scenario-agent-progress/","href":"/api-reference/test_framework/scenario-agent-progress"},{"title":"Improve Scenario Instructions with AI","openapi":"post /test_framework/v1/scenarios/improve_instructions/","href":"/api-reference/test_framework/improve-instructions"},{"title":"Poll Improve/Generate Instructions Progress","openapi":"get /test_framework/v1/scenarios/instructions-progress/","href":"/api-reference/test_framework/improve-instructions-progress"},{"title":"Update Scenario from Transcript","openapi":"post /test_framework/v1/scenarios/{id}/update_scenario_with_transcript/","href":"/api-reference/test_framework/update-scenario-with-transcript"},{"group":"Improvement Sessions","pages":[{"title":"List Scenario Improvement Sessions","openapi":"get /test_framework/v1/scenario-improvement-sessions/","href":"/api-reference/test_framework/list-improvement-sessions"},{"title":"Create Scenario Improvement Session","openapi":"post /test_framework/v1/scenario-improvement-sessions/","href":"/api-reference/test_framework/create-improvement-session"},{"title":"Get Scenario Improvement Session","openapi":"get /test_framework/v1/scenario-improvement-sessions/{id}/","href":"/api-reference/test_framework/get-improvement-session"},{"title":"Update Scenario Improvement Session","openapi":"patch /test_framework/v1/scenario-improvement-sessions/{id}/","href":"/api-reference/test_framework/update-improvement-session"}]}]},{"group":"Folders","pages":[{"title":"List Folders","openapi":"get /test_framework/v1/scenarios/folders/","href":"/api-reference/test_framework/list-folders"},{"title":"Create Folder","openapi":"post /test_framework/v1/scenarios/create_folder/","href":"/api-reference/test_framework/create-folder"},{"title":"Delete Folder","openapi":"post /test_framework/v1/scenarios/delete_folder/","href":"/api-reference/test_framework/delete-folder"},{"title":"Move Folder","openapi":"post /test_framework/v1/scenarios/move_folder/","href":"/api-reference/test_framework/move-folder"},{"title":"Rename Folder","openapi":"post /test_framework/v1/scenarios/rename_folder/","href":"/api-reference/test_framework/rename-folder"}]},{"group":"Generate Scenarios","pages":[{"title":"Generate Evaluator","openapi":"post /test_framework/v1/scenarios/generate-bg/","href":"/api-reference/test_framework/generate-evaluator-bg"},{"title":"Get Generate Evaluator Progress","openapi":"get /test_framework/v1/scenarios/generate-progress/","href":"/api-reference/test_framework/generate-evaluator-poll-progress"},{"title":"Generate Scenario Instructions with AI","openapi":"post /test_framework/v1/scenarios/generate-instructions/","href":"/api-reference/test_framework/generate-instructions"}]},{"group":"API Chat","pages":[{"title":"Run Evaluator (API Chat)","openapi":"post /test_framework/v1/scenarios/run_scenarios_api_chat/","href":"/api-reference/test_framework/run-evaluator-api-chat"},{"title":"Submit API Chat Turn","openapi":"post /test_framework/v1/runs/{id}/chat/","href":"/api-reference/test_framework/api-chat-submit-turn"},{"title":"Poll API Chat Turn","openapi":"get /test_framework/v1/runs/{id}/chat/{turn_id}/","href":"/api-reference/test_framework/api-chat-poll-turn"},{"title":"End API Chat","openapi":"post /test_framework/v1/runs/{id}/end-chat/","href":"/api-reference/test_framework/api-chat-end"}]},{"title":"Fetch Scenarios JSON Schema","openapi":"get /test_framework/v1/scenarios/json_schema/","href":"/api-reference/test_framework/fetch-scenarios-json-schema"},{"title":"Run Scenarios From Spec JSON","openapi":"post /test_framework/v1/scenarios/run_scenarios_json/","href":"/api-reference/test_framework/run-scenarios-from-spec-json"},{"title":"Update External Scenario Condition Audio","openapi":"put /test_framework/v1/scenarios-external/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/update-external-scenario-condition-audio"},{"title":"Update Scenario Condition Audio","openapi":"put /test_framework/v1/scenarios/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/update-scenario-condition-audio"},{"title":"Update Scenario Condition Audio V2","description":"Replace this clip's audio. Every action referencing it plays the new recording. Pass `name` to rename the clip at the same time — its `\u003caudio>` tags are repointed for you, and the response carries `previous_audio_id` and the rewritten `actions`. The clip is transcoded and re-transcribed, so runs are blocked again until that finishes.","openapi":"put /test_framework/v2/scenarios/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/update-scenario-condition-audio-v2"},{"title":"Validate Scenarios JSON","openapi":"post /test_framework/v1/scenarios/validate_scenarios_json/","href":"/api-reference/test_framework/validate-scenarios-json"},{"title":"Create Evaluator from Transcript V3","description":"Create an evaluator from a call transcript and return it once it is ready. `transcript_json` is a list of `{role, content, start_time}` messages, where `role` is `Main Agent`, `Testing Agent`, `Function Call` or `Function Call Result`. Usually takes under 2 minutes.","openapi":"post /test_framework/v3/scenarios/create-from-transcript/","href":"/api-reference/test_framework/create-evaluator-from-transcript-v3"},{"title":"Generate Evaluator V3","openapi":"post /test_framework/v3/scenarios/generate/","href":"/api-reference/test_framework/generate-evaluator-v3"},{"title":"Generate Scenario Instructions V3","openapi":"post /test_framework/v3/scenarios/generate-instructions/","href":"/api-reference/test_framework/generate-scenario-instructions-v3"},{"title":"Improve Scenario Instructions V3","openapi":"post /test_framework/v3/scenarios/improve_instructions/","href":"/api-reference/test_framework/improve-scenario-instructions-v3"},{"title":"Correct External Scenario Condition Audio","openapi":"patch /test_framework/v1/scenarios-external/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/correct-external-scenario-condition-audio"},{"title":"Correct Scenario Condition Audio","openapi":"patch /test_framework/v1/scenarios/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/correct-scenario-condition-audio"},{"title":"Correct Scenario Condition Audio V2","openapi":"patch /test_framework/v2/scenarios/{id}/condition-audio/{audio_id}/","href":"/api-reference/test_framework/correct-scenario-condition-audio-v2"}]},{"group":"Test Profiles","pages":[{"title":"Get Test Profile","openapi":"get /test_framework/v1/test-profiles/{id}/","href":"/api-reference/test_framework/get-test-profile"},{"title":"List Test Profiles","openapi":"get /test_framework/v1/test-profiles/","href":"/api-reference/test_framework/list-test-profiles"},{"title":"Create Test Profile","openapi":"post /test_framework/v1/test-profiles/","href":"/api-reference/test_framework/create-test-profile"},{"title":"Update Test Profile","openapi":"patch /test_framework/v1/test-profiles/{id}/","href":"/api-reference/test_framework/update-test-profile"},{"title":"Delete Test Profile","openapi":"Delete /test_framework/v1/test-profiles/{id}/","href":"/api-reference/test_framework/delete-test-profile"}]},{"group":"Results","pages":[{"title":"Get Result","openapi":"get /test_framework/v2/results/{id}/","href":"/api-reference/test_framework/get-result"},{"title":"List Results","openapi":"get /test_framework/v2/results/","href":"/api-reference/test_framework/list-results"},{"title":"Get Combined Results Report","openapi":"get /test_framework/v2/results/reports/","href":"/api-reference/test_framework/get-combined-results-report"},{"title":"Reevaluate Metrics","openapi":"post /test_framework/v1/results/{id}/evaluate_metrics/","href":"/api-reference/test_framework/reevaluate-metrics"},{"title":"Rerun Results","openapi":"post /test_framework/v1/results/{id}/rerun/","href":"/api-reference/test_framework/rerun-results"},{"openapi":"post /test_framework/v1/results/{id}/delete_runs/","title":"Delete runs from result","href":"/api-reference/test_framework/post-test_frameworkresults-delete_runs"},{"openapi":"post /test_framework/v1/results/{id}/end_calls/","title":"End all calls in result","href":"/api-reference/test_framework/post-test_frameworkresults-end_calls"},{"openapi":"post /test_framework/v1/results/{id}/create_shareable_link_token/","title":"Generate shareable link for result","href":"/api-reference/test_framework/post-test_frameworkresults-create_shareable_link_token"},{"title":"Ask About Result Failures","openapi":"post /test_framework/v1/results/{id}/ask_about_failures/","href":"/api-reference/test_framework/ask-about-failures"},{"title":"Get Ask About Failures Progress","openapi":"get /test_framework/v1/results/failure-analysis-progress/","href":"/api-reference/test_framework/ask-about-failures-progress"},{"title":"Bulk Delete Results External","openapi":"post /test_framework/v1/results-external/bulk_delete/","href":"/api-reference/test_framework/bulk-delete-results-external"},{"title":"Bulk Evaluate Results Metrics External","openapi":"post /test_framework/v1/results-external/bulk_evaluate_metrics/","href":"/api-reference/test_framework/bulk-evaluate-results-metrics-external"},{"title":"Bulk Delete Results","openapi":"post /test_framework/v1/results/bulk_delete/","href":"/api-reference/test_framework/bulk-delete-results"},{"title":"Bulk Evaluate Results Metrics","openapi":"post /test_framework/v1/results/bulk_evaluate_metrics/","href":"/api-reference/test_framework/bulk-evaluate-results-metrics"},{"title":"Ask About Failures v3","openapi":"post /test_framework/v3/results/{id}/ask_about_failures/","href":"/api-reference/test_framework/ask-about-failures-v3"}]},{"group":"Runs","pages":[{"title":"List Runs with IDs","openapi":"get /test_framework/v2/runs/bulk/","href":"/api-reference/test_framework/list-runs-with-ids"},{"openapi":"post /test_framework/v1/runs/{id}/end_call/","title":"End a single call","href":"/api-reference/test_framework/post-test_frameworkruns-end_call"},{"title":"Vote on Run Metric","openapi":"post /test_framework/v1/runs/{id}/mark_metric_vote/","href":"/api-reference/test_framework/vote-run-metric"},{"title":"Get Run Trace","openapi":"get /test_framework/v1/runs/{id}/trace/","href":"/api-reference/test_framework/get-run-trace"},{"title":"Retrieve Execution Logs for a Simulation Run","openapi":"get /test_framework/v1/runs/{id}/logs/","href":"/api-reference/test_framework/get-run-logs"}]},{"group":"Schedules","pages":[{"title":"Get Schedule Job","openapi":"get /schedules/v1/cron-jobs/{id}/","href":"/api-reference/schedules/get-schedule-job"},{"title":"List Schedule Jobs","openapi":"get /schedules/v1/cron-jobs/","href":"/api-reference/schedules/list-schedule-jobs"},{"title":"Create Schedule Job","openapi":"post /schedules/v1/cron-jobs/","href":"/api-reference/schedules/create-schedule-job"},{"title":"Update Schedule Job","openapi":"patch /schedules/v1/cron-jobs/{id}/","href":"/api-reference/schedules/update-schedule-job"},{"title":"Delete Schedule Job","openapi":"delete /schedules/v1/cron-jobs/{id}/","href":"/api-reference/schedules/delete-schedule-job"}]},{"group":"Projects","pages":[{"title":"Get project","openapi":"get /user/v1/projects/{id}/","href":"/api-reference/user/get-project"},{"title":"List projects","openapi":"get /user/v1/projects/","href":"/api-reference/user/list-projects"},{"title":"Create project","openapi":"post /user/v1/projects/","href":"/api-reference/user/create-project"},{"title":"Update project","openapi":"patch /user/v1/projects/{id}/","href":"/api-reference/user/update-project"},{"title":"Delete project","openapi":"delete /user/v1/projects/{id}/","href":"/api-reference/user/delete-project"},{"title":"Enable personalities","openapi":"post /user/v1/projects/{id}/enable_personalities/","href":"/api-reference/user/enable-project-personalities"},{"title":"Disable personalities","openapi":"post /user/v1/projects/{id}/disable_personalities/","href":"/api-reference/user/disable-project-personalities"}]},{"group":"Organization","pages":[{"openapi":"get /user/organizations/","title":"List your organizations","href":"/api-reference/user/get-userorganizations"},{"title":"Get Billing Info","openapi":"get /test_framework/billing/info/","href":"/api-reference/organization/get-billing-info"},{"title":"Get Payment History","openapi":"get /test_framework/billing/payment-history/","href":"/api-reference/test_framework/get-payment-history"},{"title":"List Organizations","openapi":"get /user/v2/organizations/","href":"/api-reference/user/list-organizations"},{"title":"Get Unit Usage Report","openapi":"get /test_framework/billing/unit-usage-report/","href":"/api-reference/test_framework/get-unit-usage-report"}]},{"group":"Dashboards","pages":[{"title":"List Dashboards","openapi":"get /dashboards/dashboards/","href":"/api-reference/dashboards/list-dashboards"},{"title":"Create Dashboard","openapi":"post /dashboards/dashboards/","href":"/api-reference/dashboards/create-dashboard"},{"title":"Get Dashboard","openapi":"get /dashboards/dashboards/{id}/","href":"/api-reference/dashboards/get-dashboard"},{"title":"Update Dashboard","openapi":"patch /dashboards/dashboards/{id}/","href":"/api-reference/dashboards/update-dashboard"},{"title":"Delete Dashboard","openapi":"delete /dashboards/dashboards/{id}/","href":"/api-reference/dashboards/delete-dashboard"},{"title":"Duplicate Dashboard","openapi":"post /dashboards/dashboards/{id}/duplicate/","href":"/api-reference/dashboards/duplicate-dashboard"},{"title":"Bulk Widget Operations","openapi":"post /dashboards/dashboards/{id}/bulk_widgets/","href":"/api-reference/dashboards/bulk-widgets"}]},{"group":"Widgets","pages":[{"title":"List Widgets","openapi":"get /dashboards/widgets/","href":"/api-reference/dashboards/list-widgets"},{"title":"Create Widget","openapi":"post /dashboards/widgets/","href":"/api-reference/dashboards/create-widget"},{"title":"Get Widget","openapi":"get /dashboards/widgets/{id}/","href":"/api-reference/dashboards/get-widget"},{"title":"Update Widget","openapi":"patch /dashboards/widgets/{id}/","href":"/api-reference/dashboards/update-widget"},{"title":"Delete Widget","openapi":"delete /dashboards/widgets/{id}/","href":"/api-reference/dashboards/delete-widget"},{"title":"Get Widget Data","openapi":"get /dashboards/widgets/{id}/data/","href":"/api-reference/dashboards/get-widget-data"},{"title":"Preview Widget Data","openapi":"post /dashboards/widgets/preview_data/","href":"/api-reference/dashboards/preview-widget-data"},{"title":"Bulk Widget Data","openapi":"post /dashboards/widgets/bulk_data/","href":"/api-reference/dashboards/widget-bulk-data"}]},{"group":"Audit Logs","pages":[{"title":"List Audit Logs","openapi":"get /user/v1/audit-logs/","href":"/api-reference/user/list-audit-logs"}]},{"group":"API Keys","pages":[{"title":"Create API Key","openapi":"post /user/api/v1/user-api-key/","href":"/api-reference/user/create-api-key"}]},{"group":"Others","pages":[{"title":"List Personalities","openapi":"get /test_framework/v1/personalities/","href":"/api-reference/test_framework/list-personalities"},{"title":"Create Personality","openapi":"post /test_framework/v1/personalities/","href":"/api-reference/test_framework/create-personality"},{"title":"Update Personality","openapi":"patch /test_framework/v1/personalities/{id}/","href":"/api-reference/test_framework/update-personality"},{"title":"Fork Personality","openapi":"post /test_framework/v1/personalities/{id}/fork/","href":"/api-reference/test_framework/fork-personality"},{"title":"List Predefined Metrics","openapi":"get /test_framework/v1/predefined-metrics/","href":"/api-reference/test_framework/list-predefined-metrics"},{"title":"List Inbound Phone Numbers","openapi":"get /test_framework/v1/phone-numbers/inbound/","href":"/api-reference/test_framework/list-inbound-phone-numbers"},{"title":"Create Evaluators from Call Logs","openapi":"post /observability/v1/call-logs/create_scenarios/","href":"/api-reference/observability/create-scenarios-from-call-logs"},{"title":"Get Progress For Evaluator Creation","openapi":"get /observability/v1/call-logs/create_scenarios_progress/","href":"/api-reference/observability/create-scenarios-from-call-logs-progress"},{"title":"Get Alert Review Detail","openapi":"get /observability/v1/alerts/{id}/review_detail/","href":"/api-reference/observability/get-alert-review-detail"},{"title":"Summarize Alert","openapi":"post /observability/v1/alerts/{id}/summarize/","href":"/api-reference/observability/summarize-alert"},{"title":"List Alerts for Review","openapi":"get /observability/v1/alerts/review/","href":"/api-reference/observability/list-alerts-for-review"},{"title":"Get Alert Summarization Progress","openapi":"get /observability/v1/alerts/summarize_progress/","href":"/api-reference/observability/get-alert-summarization-progress"},{"title":"Trigger Alert Summary","openapi":"get /observability/v1/alerts/trigger_summary/","href":"/api-reference/observability/trigger-alert-summary"},{"title":"Bulk Generate Metric Failure Mode Insights","openapi":"post /observability/v1/metric-failure-mode-insights/bulk_generate/","href":"/api-reference/observability/bulk-generate-metric-failure-mode-insights"},{"title":"List Deep Research Insights","openapi":"get /observability/v1/deep-research-insights/","href":"/api-reference/observability/list-deep-research-insights"},{"title":"Get Deep Research Insight","openapi":"get /observability/v1/deep-research-insights/{id}/","href":"/api-reference/observability/get-deep-research-insight"},{"title":"Delete Deep Research Insight","openapi":"delete /observability/v1/deep-research-insights/{id}/","href":"/api-reference/observability/delete-deep-research-insight"},{"title":"Dismiss Deep Research Insight Mode","openapi":"post /observability/v1/deep-research-insights/dismiss_mode/","href":"/api-reference/observability/dismiss-deep-research-insight-mode"},{"title":"Generate Deep Research Insights","openapi":"post /observability/v1/deep-research-insights/generate/","href":"/api-reference/observability/generate-deep-research-insights"},{"title":"Get Metric Failure Mode Insights Available Dates","openapi":"get /observability/v1/metric-failure-mode-insights/available_dates/","href":"/api-reference/observability/get-metric-failure-mode-insights-available-dates"},{"title":"Retrieve Deep Research Insights Pricing","openapi":"get /observability/v1/deep-research-insights/pricing/","href":"/api-reference/observability/retrieve-deep-research-insights-pricing"},{"title":"List Metric Failure Mode Insight Categories","openapi":"get /observability/v1/metric-failure-mode-insights/categories/","href":"/api-reference/observability/list-metric-failure-mode-insight-categories"},{"title":"Add Metric Failure Mode Insight Category Example Calls to Labs","openapi":"post /observability/v1/metric-failure-mode-insights/categories/{category_slug}/fix-metric/","href":"/api-reference/observability/add-metric-failure-mode-insight-category-example-calls-to-labs"},{"title":"List Agent Improvement Sessions","openapi":"get /observability/v1/agent-improvement-sessions/","href":"/api-reference/observability/list-agent-improvement-sessions"},{"title":"Create Agent Improvement Session","openapi":"post /observability/v1/agent-improvement-sessions/","href":"/api-reference/observability/create-agent-improvement-session"},{"title":"Get Agent Improvement Session","openapi":"get /observability/v1/agent-improvement-sessions/{id}/","href":"/api-reference/observability/get-agent-improvement-session"},{"title":"List Metric Failure Mode Insight Category Calls","openapi":"get /observability/v1/metric-failure-mode-insights/categories/{category_slug}/calls/","href":"/api-reference/observability/list-metric-failure-mode-insight-category-calls"},{"title":"Delete Metric Failure Mode Insight Category","openapi":"delete /observability/v1/metric-failure-mode-insights/categories/{category_slug}/delete/","href":"/api-reference/observability/delete-metric-failure-mode-insight-category"},{"title":"List Metric Failure Rates","openapi":"get /observability/v1/metric-failure-mode-insights/failure-rates/","href":"/api-reference/observability/list-metric-failure-rates"},{"title":"List Tools","openapi":"get /test_framework/v1/tools/","href":"/api-reference/test_framework/list-tools"},{"title":"Get Tool","openapi":"get /test_framework/v1/tools/{id}/","href":"/api-reference/test_framework/get-tool"},{"title":"Create External Personality Voice Clone","openapi":"post /test_framework/v1/personalities-external/clone_voice/","href":"/api-reference/test_framework/create-external-personality-voice-clone"},{"title":"Create Personality Voice Clone","openapi":"post /test_framework/v1/personalities/clone_voice/","href":"/api-reference/test_framework/create-personality-voice-clone"},{"title":"Summarize Alert V3","openapi":"post /observability/v3/alerts/{id}/summarize/","href":"/api-reference/observability/summarize-alert-v3"},{"title":"Create Evaluators from Call Logs V3","openapi":"post /observability/v3/call-logs/create_scenarios/","href":"/api-reference/observability/create-evaluators-from-call-logs-v3"}]}]}]},{"tab":"MCP \u0026 Skills","pages":[{"title":"MCP \u0026 Skills","href":"/mcp/overview"}]},{"tab":"CLI \u0026 SDK","pages":[{"title":"CLI \u0026 SDK","href":"/cli-sdk/overview"}]}]},"basePath":"","title":"Validate Scenarios JSON - Cekura","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}