Tool the runner should (or should not) observe on the next turn. A
webhook or client tool is referenced by its library id, an integration
tool by "<provider_key>:<tool_name>" (for example
"google_calendar:create_event").
Tool the runner should (or should not) observe on the next turn. A
webhook or client tool is referenced by its library id, an integration
tool by "<provider_key>:<tool_name>" (for example
"google_calendar:create_event").
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fish Audio","description":"Documentation for Fish Audio APIs, SDKs, models, voice cloning, real-time streaming, and self-hosting.","colors":{"primary":"#0e0e0e","light":"#9b90e8","dark":"#09090b"},"logo":{"light":"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/light.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=305973cd6a8d11dbf36d1ec682ee845e","dark":"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/dark.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=b79bd889db9ac1aae939834596e8a22f"},"favicon":"https://mintcdn.com/hanabiaiinc/-WxHANLOAmlTUwdM/favicon.svg?fit=max\u0026auto=format\u0026n=-WxHANLOAmlTUwdM\u0026q=85\u0026s=dc65d9f44bda0f5b8277c48dd9c979c3","navbar":{"links":[{"href":"https://discord.gg/dF9Db2Tt3Y","label":"Community"},{"href":"mailto:support@fish.audio","label":"Support"}],"primary":{"type":"button","label":"Sign Up","href":"https://fish.audio/app/developers/get-started/?utm_source=docs\u0026utm_medium=navbar\u0026utm_content=sign-up"}},"footer":{"socials":{"website":"https://fish.audio","github":"https://github.com/fishaudio","x":"https://x.com/fishaudio","linkedin":"https://www.linkedin.com/company/fish-audio","discord":"https://discord.gg/dF9Db2Tt3Y"},"links":[{"header":"About","items":[{"label":"Research","href":"https://openaudio.com/"},{"label":"Careers","href":"mailto:hr@fish.audio"},{"label":"Blog","href":"https://fish.audio/blog"}]},{"header":"Resources","items":[{"label":"API Status","href":"https://status.fish.audio"},{"label":"Open Source","href":"https://github.com/fishaudio"},{"label":"Changelog","href":"https://docs.fish.audio/developer-guide/getting-started/changelog"}]},{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://fish.audio/privacy"},{"label":"Terms of Service","href":"https://fish.audio/terms"},{"label":"Report Abuse","href":"mailto:support@fish.audio?subject=%5BReport+Abuse%5D+MODEL+NAME\u0026amp;body=Please+provide+a+detailed+description+of+the+abuse+you+are+reporting."}]}]},"fonts":{"family":"Onest"},"integrations":{"amplitude":{"apiKey":"39daf30712f00da6ea5283bc21e7084e"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":true},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hanabiaiinc","hasAudioNarration":false,"actualSubdomain":"hanabiaiinc","customDomains":["docs.fish.audio"],"gitSource":{"type":"github","owner":"fishaudio","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3af841456641906edac92","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":88},{"language":"default","tag":"Agents API","count":49},{"language":"default","tag":"Agents","count":48},{"language":"default","tag":"Resources","count":40},{"language":"default","tag":"Overview","count":31},{"language":"default","tag":"REST API","count":24},{"language":"default","tag":"Core Features","count":14},{"language":"default","tag":"Tests","count":13},{"language":"default","tag":"Cookbook","count":12},{"language":"default","tag":"Build","count":11}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@fish.audio","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"editor-metadata","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},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"custom.css","content":"*{scrollbar-width:thin;scrollbar-color:rgba(120,120,120,0.4) transparent}::-webkit-scrollbar{width:6px;height:6px;background:transparent!important}::-webkit-scrollbar-thumb{background:rgba(120,120,120,0.5);border-radius:999px}::-webkit-scrollbar-thumb{opacity:0;transition:opacity 0.2s ease}:hover::-webkit-scrollbar-thumb,*:active::-webkit-scrollbar-thumb{opacity:1}img[src*=\"/images/\"]{background:transparent!important}.prompt-card{display:grid;cursor:pointer;outline:none}.prompt-card .card{transition:border-color 0.15s ease}.prompt-card:hover .card,.prompt-card:focus-visible .card{border-color:rgb(var(--primary))!important}.dark .prompt-card:hover .card,.dark .prompt-card:focus-visible .card{border-color:rgb(var(--primary-light))!important}.prompt-card-hint{position:absolute;top:1rem;right:1rem;padding:0.3rem 0.6rem;border-radius:9999px;font-size:0.75rem;line-height:1;color:rgb(var(--gray-500));background:rgba(120, 120, 120, 0.12);opacity:0;transition:opacity 0.15s ease;pointer-events:none}.prompt-card:hover .prompt-card-hint,.prompt-card:focus-visible .prompt-card-hint,.prompt-card[data-state=\"copied\"] .prompt-card-hint,.prompt-card[data-state=\"failed\"] .prompt-card-hint{opacity:1}.prompt-card[data-state=\"copied\"] .prompt-card-hint{color:rgb(var(--primary));background:rgb(var(--primary) / 0.12)}.dark .prompt-card[data-state=\"copied\"] .prompt-card-hint{color:rgb(var(--primary-light));background:rgb(var(--primary-light) / 0.16)}"}],"page":{"pagePath":"api-reference/endpoint/agent/update-test","slug":"/api-reference/endpoint/agent/update-test","pageMetadata":{"openapi":"patch /v1/agent/tests/{test_id}","title":"Update Test","description":"Patch test fields. Omitted fields keep their value.","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/update-test"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Patch test fields. Omitted fields keep their value.\"\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":{"openapi":"patch /v1/agent/tests/{test_id}","title":"Update Test","description":"Patch test fields. Omitted fields keep their value.","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/update-test"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Update Test","description":"Patch test fields. Omitted fields keep their value.","security":["54f59b39-7c6e-4276-81d0-169a3d43d84b"],"parameters":["5c8c751f-11b2-4a47-a46f-52e053a7482f"],"requestBody":"b8f2cf20-5d97-463c-b0df-6c3cc935401a","responses":{"200":"87d78250-dd0d-49f7-9f6d-2885501945d1","401":"8dff79e8-1727-4bae-a986-203208289758","404":"4ac95940-913e-451d-a16b-75e0b0b5691e","422":"13f18493-7985-4bde-86af-c5eb1e2b4a7a","503":"3c7c76db-633c-45d6-bcf4-099548ed6be2"},"tags":["Agent Tests"],"method":"patch","type":"path","servers":["4c05306a-8a2b-4dca-ae0d-0b87050df242"],"path":"/v1/agent/tests/{test_id}","baseUrlOptions":["https://api.fish.audio"],"title":"Update Test","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"5c8c751f-11b2-4a47-a46f-52e053a7482f":{"in":"path","name":"test_id","description":"","required":true,"schema":{"title":"Test Id","type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"},"deprecated":false}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"name":{"oneOf":[{"type":"string","title":"Name","maxLength":200,"minLength":1,"uniqueKey":"name.oneOf.0","typeLabel":"string"},{"type":"null","title":"Name","uniqueKey":"name.oneOf.1","typeLabel":"null"}],"uniqueKey":"name","typeLabel":"string | null"},"test_type":{"oneOf":[{"type":"string","title":"Test Type","enum":["next_reply","tool","simulation"],"uniqueKey":"test_type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Test Type","uniqueKey":"test_type.oneOf.1","typeLabel":"null"}],"uniqueKey":"test_type","typeLabel":"enum\u003cstring> | null"},"conversation":{"oneOf":[{"type":"array","items":{"properties":{"role":{"enum":["agent","user"],"title":"Role","type":"string","isRequired":true,"uniqueKey":"conversation.oneOf.0.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"text":{"maxLength":2000,"minLength":1,"title":"Text","type":"string","isRequired":true,"uniqueKey":"conversation.oneOf.0.items.[INDEX].text","typeLabel":"string"}},"required":["role","text"],"title":"AgentTestMessagePayload","type":"object","uniqueKey":"conversation.oneOf.0.items.[INDEX]","typeLabel":"AgentTestMessagePayload · object"},"title":"Conversation","uniqueKey":"conversation.oneOf.0","typeLabel":"AgentTestMessagePayload · object[]"},{"type":"null","title":"Conversation","uniqueKey":"conversation.oneOf.1","typeLabel":"null"}],"uniqueKey":"conversation","typeLabel":"AgentTestMessagePayload · object[] | null"},"expectation":{"oneOf":[{"type":"string","title":"Expectation","maxLength":400,"uniqueKey":"expectation.oneOf.0","typeLabel":"string"},{"type":"null","title":"Expectation","uniqueKey":"expectation.oneOf.1","typeLabel":"null"}],"uniqueKey":"expectation","typeLabel":"string | null"},"success_examples":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"success_examples.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Success Examples","uniqueKey":"success_examples.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Success Examples","uniqueKey":"success_examples.oneOf.1","typeLabel":"null"}],"uniqueKey":"success_examples","typeLabel":"string[] | null"},"failure_examples":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"failure_examples.oneOf.0.items.[INDEX]","typeLabel":"string"},"title":"Failure Examples","uniqueKey":"failure_examples.oneOf.0","typeLabel":"string[]"},{"type":"null","title":"Failure Examples","uniqueKey":"failure_examples.oneOf.1","typeLabel":"null"}],"uniqueKey":"failure_examples","typeLabel":"string[] | null"},"referenced_tool":{"oneOf":[{"type":"object","title":"AgentTestReferencedTool","description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","required":["id","name"],"properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"referenced_tool.oneOf.0.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"referenced_tool.oneOf.0.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"referenced_tool.oneOf.0.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"referenced_tool.oneOf.0.description","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"referenced_tool.oneOf.0","typeLabel":"AgentTestReferencedTool · object"},{"type":"null","uniqueKey":"referenced_tool.oneOf.1","typeLabel":"null"}],"uniqueKey":"referenced_tool","typeLabel":"AgentTestReferencedTool · object | null"},"tool_parameters":{"oneOf":[{"type":"array","items":{"additionalProperties":false,"properties":{"name":{"maxLength":100,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].name","typeLabel":"string"},"value":{"oneOf":[{"type":"string","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].value.oneOf.3","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].value","typeLabel":"string | integer | number | boolean"},"type":{"oneOf":[{"type":"string","title":"Type","enum":["string","number","boolean"],"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Type","uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"tool_parameters.oneOf.0.items.[INDEX].type","typeLabel":"enum\u003cstring> | null"}},"required":["name","value"],"title":"AgentTestToolParameter","type":"object","uniqueKey":"tool_parameters.oneOf.0.items.[INDEX]","typeLabel":"AgentTestToolParameter · object"},"title":"Tool Parameters","uniqueKey":"tool_parameters.oneOf.0","typeLabel":"AgentTestToolParameter · object[]"},{"type":"null","title":"Tool Parameters","uniqueKey":"tool_parameters.oneOf.1","typeLabel":"null"}],"uniqueKey":"tool_parameters","typeLabel":"AgentTestToolParameter · object[] | null"},"verify_absence":{"oneOf":[{"type":"boolean","title":"Verify Absence","uniqueKey":"verify_absence.oneOf.0","typeLabel":"boolean"},{"type":"null","title":"Verify Absence","uniqueKey":"verify_absence.oneOf.1","typeLabel":"null"}],"uniqueKey":"verify_absence","typeLabel":"boolean | null"},"simulation":{"oneOf":[{"type":"object","title":"AgentTestSimulationConfig","required":["scenario","success_conditions"],"properties":{"scenario":{"maxLength":10000,"minLength":1,"title":"Scenario","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.scenario","typeLabel":"string"},"success_conditions":{"items":{"additionalProperties":false,"description":"One natural-language criterion the judge scores on the whole conversation.","properties":{"name":{"maxLength":80,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX].name","typeLabel":"string"},"description":{"maxLength":500,"minLength":1,"title":"Description","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX].description","typeLabel":"string"}},"required":["name","description"],"title":"AgentTestSuccessCondition","type":"object","uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX]","typeLabel":"AgentTestSuccessCondition · object"},"maxItems":10,"minItems":1,"title":"Success Conditions","type":"array","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions","typeLabel":"AgentTestSuccessCondition · object[]"},"max_turns":{"default":10,"maximum":50,"minimum":1,"title":"Max Turns","type":"integer","uniqueKey":"simulation.oneOf.0.max_turns","typeLabel":"integer"},"assertions":{"additionalProperties":false,"description":"Deterministic checks run before the judge, no LLM involved.","properties":{"tool_calls":{"items":{"additionalProperties":false,"description":"The agent must have called this library tool, optionally with matching\narguments, between min_calls and max_calls times (calls that match).","properties":{"tool":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool","typeLabel":"AgentTestReferencedTool · object"},"params":{"additionalProperties":{"additionalProperties":false,"description":"How one tool argument is compared: exact string equality, a regular\nexpression searched in the value, or mere presence. Regexes are\nJavaScript without flags, mock conditions run in the runtime as written\nand assertions are translated to Python for scoring.","properties":{"type":{"default":"exact","enum":["exact","regex","any"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.type","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","title":"Value","maxLength":1000,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Value","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value","typeLabel":"string | null"}},"title":"AgentTestParamMatcher","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties","typeLabel":"AgentTestParamMatcher · object"},"title":"Params","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params","typeLabel":"Params · object"},"min_calls":{"default":1,"maximum":100,"minimum":0,"title":"Min Calls","type":"integer","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].min_calls","typeLabel":"integer"},"max_calls":{"oneOf":[{"type":"integer","title":"Max Calls","maximum":100,"minimum":0,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Calls","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls","typeLabel":"integer | null"}},"required":["tool"],"title":"AgentTestToolCallAssertion","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX]","typeLabel":"AgentTestToolCallAssertion · object"},"maxItems":100,"title":"Tool Calls","type":"array","uniqueKey":"simulation.oneOf.0.assertions.tool_calls","typeLabel":"AgentTestToolCallAssertion · object[]"},"forbidden_tools":{"items":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX]","typeLabel":"AgentTestReferencedTool · object"},"maxItems":100,"title":"Forbidden Tools","type":"array","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools","typeLabel":"AgentTestReferencedTool · object[]"},"ended_by":{"oneOf":[{"type":"string","title":"Ended By","enum":["agent","user","transfer","any"],"uniqueKey":"simulation.oneOf.0.assertions.ended_by.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Ended By","uniqueKey":"simulation.oneOf.0.assertions.ended_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.ended_by","typeLabel":"enum\u003cstring> | null"}},"title":"AgentTestSimulationAssertions","type":"object","uniqueKey":"simulation.oneOf.0.assertions","typeLabel":"AgentTestSimulationAssertions · object"},"tool_mocks":{"additionalProperties":false,"description":"all: every tool answers from a mock, except real_tools, which run for\nreal. selected: only the listed tools do, the rest follow fallback.\nnone: every tool hits its real endpoint.","properties":{"strategy":{"default":"all","enum":["all","selected","none"],"title":"Strategy","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.strategy","typeLabel":"enum\u003cstring>"},"fallback":{"default":"error","enum":["error","real"],"title":"Fallback","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.fallback","typeLabel":"enum\u003cstring>"},"tools":{"items":{"additionalProperties":false,"description":"A canned result for one library tool, optionally gated on the call arguments.","properties":{"tool":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool","typeLabel":"AgentTestReferencedTool · object"},"result":{"oneOf":[{"default":null}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].result","typeLabel":"any"},"status":{"oneOf":[{"type":"integer","title":"Status","maximum":599,"minimum":100,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Status","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status","typeLabel":"integer | null"},"when":{"oneOf":[{"type":"object","title":"When","additionalProperties":{"additionalProperties":false,"description":"How one tool argument is compared: exact string equality, a regular\nexpression searched in the value, or mere presence. Regexes are\nJavaScript without flags, mock conditions run in the runtime as written\nand assertions are translated to Python for scoring.","properties":{"type":{"default":"exact","enum":["exact","regex","any"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.type","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","title":"Value","maxLength":1000,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Value","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value","typeLabel":"string | null"}},"title":"AgentTestParamMatcher","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties","typeLabel":"AgentTestParamMatcher · object"},"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0","typeLabel":"When · object"},{"type":"null","title":"When","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when","typeLabel":"When · object | null"},"error":{"default":false,"title":"Error","type":"boolean","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].error","typeLabel":"boolean"}},"required":["tool"],"title":"AgentTestToolMock","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX]","typeLabel":"AgentTestToolMock · object"},"maxItems":50,"title":"Tools","type":"array","uniqueKey":"simulation.oneOf.0.tool_mocks.tools","typeLabel":"AgentTestToolMock · object[]"},"real_tools":{"items":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX]","typeLabel":"AgentTestReferencedTool · object"},"maxItems":50,"title":"Real Tools","type":"array","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools","typeLabel":"AgentTestReferencedTool · object[]"}},"title":"AgentTestToolMocks","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks","typeLabel":"AgentTestToolMocks · object"},"simulated_user_model":{"oneOf":[{"type":"string","title":"Simulated User Model","uniqueKey":"simulation.oneOf.0.simulated_user_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Simulated User Model","uniqueKey":"simulation.oneOf.0.simulated_user_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.simulated_user_model","typeLabel":"string | null"},"repeat_count":{"default":1,"maximum":20,"minimum":1,"title":"Repeat Count","type":"integer","uniqueKey":"simulation.oneOf.0.repeat_count","typeLabel":"integer"},"channel":{"oneOf":[{"type":"string","title":"Channel","enum":["web_voice","phone_inbound","phone_outbound"],"uniqueKey":"simulation.oneOf.0.channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Channel","uniqueKey":"simulation.oneOf.0.channel.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.channel","typeLabel":"enum\u003cstring> | null"},"context":{"additionalProperties":false,"description":"The run's platform context switches, the agent config's `context`\nsection for a test. Off so a date pinned in the prompt holds.","properties":{"current_time":{"default":false,"title":"Current Time","type":"boolean","uniqueKey":"simulation.oneOf.0.context.current_time","typeLabel":"boolean"}},"title":"AgentTestSimulationContext","type":"object","uniqueKey":"simulation.oneOf.0.context","typeLabel":"AgentTestSimulationContext · object"}},"additionalProperties":false,"uniqueKey":"simulation.oneOf.0","typeLabel":"AgentTestSimulationConfig · object"},{"type":"null","uniqueKey":"simulation.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation","typeLabel":"AgentTestSimulationConfig · object | null"},"dynamic_variables":{"oneOf":[{"type":"object","title":"Dynamic Variables","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"dynamic_variables.oneOf.0.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"dynamic_variables.oneOf.0.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"dynamic_variables.oneOf.0.additionalProperties.oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"dynamic_variables.oneOf.0.additionalProperties.oneOf.3","typeLabel":"boolean"}],"uniqueKey":"dynamic_variables.oneOf.0.additionalProperties","typeLabel":"string | integer | number | boolean"},"uniqueKey":"dynamic_variables.oneOf.0","typeLabel":"Dynamic Variables · object"},{"type":"null","title":"Dynamic Variables","uniqueKey":"dynamic_variables.oneOf.1","typeLabel":"null"}],"uniqueKey":"dynamic_variables","typeLabel":"Dynamic Variables · object | null"}},"title":"PublicAgentTestUpdatePayload","type":"object","uniqueKey":"","typeLabel":"PublicAgentTestUpdatePayload · object"},"examples":{"Example":{"title":"Example","value":{"name":"\u003cstring>","conversation":[{"text":"\u003cstring>"}],"expectation":"\u003cstring>","success_examples":["\u003cstring>"],"failure_examples":["\u003cstring>"],"referenced_tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"tool_parameters":[{"name":"\u003cstring>","value":"\u003cstring>"}],"verify_absence":true,"simulation":{"scenario":"\u003cstring>","success_conditions":[{"name":"\u003cstring>","description":"\u003cstring>"}],"max_turns":10,"assertions":{"tool_calls":[{"tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"params":{},"min_calls":1,"max_calls":50}],"forbidden_tools":[{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""}]},"tool_mocks":{"strategy":"all","fallback":"error","tools":[{"tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"result":"\u003cunknown>","status":349,"when":{},"error":false}],"real_tools":[{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""}]},"simulated_user_model":"\u003cstring>","repeat_count":1,"context":{"current_time":false}},"dynamic_variables":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"87d78250-dd0d-49f7-9f6d-2885501945d1":{"description":"Request fulfilled, document follows","headers":{},"content":{"application/json":{"schema":{"properties":{"test_id":{"title":"Test Id","type":"string","isRequired":true,"uniqueKey":"test_id","typeLabel":"string"},"workspace_id":{"title":"Workspace Id","type":"string","isRequired":true,"uniqueKey":"workspace_id","typeLabel":"string"},"name":{"title":"Name","type":"string","isRequired":true,"uniqueKey":"name","typeLabel":"string"},"test_type":{"enum":["next_reply","tool","simulation"],"title":"Test Type","type":"string","isRequired":true,"uniqueKey":"test_type","typeLabel":"enum\u003cstring>"},"created_at":{"format":"date-time","title":"Created At","type":"string","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"format":"date-time","title":"Updated At","type":"string","isRequired":true,"uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"agent_ids":{"description":"Agents this test is attached to.","items":{"type":"string","uniqueKey":"agent_ids.items.[INDEX]","typeLabel":"string"},"title":"Agent Ids","type":"array","uniqueKey":"agent_ids","typeLabel":"string[]"},"conversation":{"items":{"properties":{"role":{"enum":["agent","user"],"title":"Role","type":"string","isRequired":true,"uniqueKey":"conversation.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"text":{"title":"Text","type":"string","isRequired":true,"uniqueKey":"conversation.items.[INDEX].text","typeLabel":"string"}},"required":["role","text"],"title":"PublicAgentTestMessage","type":"object","uniqueKey":"conversation.items.[INDEX]","typeLabel":"PublicAgentTestMessage · object"},"title":"Conversation","type":"array","uniqueKey":"conversation","typeLabel":"PublicAgentTestMessage · object[]"},"expectation":{"default":"","title":"Expectation","type":"string","uniqueKey":"expectation","typeLabel":"string"},"success_examples":{"items":{"type":"string","uniqueKey":"success_examples.items.[INDEX]","typeLabel":"string"},"title":"Success Examples","type":"array","uniqueKey":"success_examples","typeLabel":"string[]"},"failure_examples":{"items":{"type":"string","uniqueKey":"failure_examples.items.[INDEX]","typeLabel":"string"},"title":"Failure Examples","type":"array","uniqueKey":"failure_examples","typeLabel":"string[]"},"referenced_tool":{"oneOf":[{"type":"object","title":"AgentTestReferencedTool","description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","required":["id","name"],"properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"referenced_tool.oneOf.0.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"referenced_tool.oneOf.0.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"referenced_tool.oneOf.0.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"referenced_tool.oneOf.0.description","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"referenced_tool.oneOf.0","typeLabel":"AgentTestReferencedTool · object"},{"type":"null","uniqueKey":"referenced_tool.oneOf.1","typeLabel":"null"}],"uniqueKey":"referenced_tool","typeLabel":"AgentTestReferencedTool · object | null"},"tool_parameters":{"items":{"additionalProperties":false,"properties":{"name":{"maxLength":100,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].name","typeLabel":"string"},"value":{"oneOf":[{"type":"string","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"integer","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].value.oneOf.1","typeLabel":"integer"},{"type":"number","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].value.oneOf.2","typeLabel":"number"},{"type":"boolean","title":"Value","isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].value.oneOf.3","typeLabel":"boolean"}],"isRequired":true,"uniqueKey":"tool_parameters.items.[INDEX].value","typeLabel":"string | integer | number | boolean"},"type":{"oneOf":[{"type":"string","title":"Type","enum":["string","number","boolean"],"uniqueKey":"tool_parameters.items.[INDEX].type.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Type","uniqueKey":"tool_parameters.items.[INDEX].type.oneOf.1","typeLabel":"null"}],"uniqueKey":"tool_parameters.items.[INDEX].type","typeLabel":"enum\u003cstring> | null"}},"required":["name","value"],"title":"AgentTestToolParameter","type":"object","uniqueKey":"tool_parameters.items.[INDEX]","typeLabel":"AgentTestToolParameter · object"},"title":"Tool Parameters","type":"array","uniqueKey":"tool_parameters","typeLabel":"AgentTestToolParameter · object[]"},"verify_absence":{"default":false,"title":"Verify Absence","type":"boolean","uniqueKey":"verify_absence","typeLabel":"boolean"},"simulation":{"oneOf":[{"type":"object","title":"AgentTestSimulationConfig","required":["scenario","success_conditions"],"properties":{"scenario":{"maxLength":10000,"minLength":1,"title":"Scenario","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.scenario","typeLabel":"string"},"success_conditions":{"items":{"additionalProperties":false,"description":"One natural-language criterion the judge scores on the whole conversation.","properties":{"name":{"maxLength":80,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX].name","typeLabel":"string"},"description":{"maxLength":500,"minLength":1,"title":"Description","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX].description","typeLabel":"string"}},"required":["name","description"],"title":"AgentTestSuccessCondition","type":"object","uniqueKey":"simulation.oneOf.0.success_conditions.items.[INDEX]","typeLabel":"AgentTestSuccessCondition · object"},"maxItems":10,"minItems":1,"title":"Success Conditions","type":"array","isRequired":true,"uniqueKey":"simulation.oneOf.0.success_conditions","typeLabel":"AgentTestSuccessCondition · object[]"},"max_turns":{"default":10,"maximum":50,"minimum":1,"title":"Max Turns","type":"integer","uniqueKey":"simulation.oneOf.0.max_turns","typeLabel":"integer"},"assertions":{"additionalProperties":false,"description":"Deterministic checks run before the judge, no LLM involved.","properties":{"tool_calls":{"items":{"additionalProperties":false,"description":"The agent must have called this library tool, optionally with matching\narguments, between min_calls and max_calls times (calls that match).","properties":{"tool":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool.description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].tool","typeLabel":"AgentTestReferencedTool · object"},"params":{"additionalProperties":{"additionalProperties":false,"description":"How one tool argument is compared: exact string equality, a regular\nexpression searched in the value, or mere presence. Regexes are\nJavaScript without flags, mock conditions run in the runtime as written\nand assertions are translated to Python for scoring.","properties":{"type":{"default":"exact","enum":["exact","regex","any"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.type","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","title":"Value","maxLength":1000,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Value","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties.value","typeLabel":"string | null"}},"title":"AgentTestParamMatcher","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params.additionalProperties","typeLabel":"AgentTestParamMatcher · object"},"title":"Params","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].params","typeLabel":"Params · object"},"min_calls":{"default":1,"maximum":100,"minimum":0,"title":"Min Calls","type":"integer","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].min_calls","typeLabel":"integer"},"max_calls":{"oneOf":[{"type":"integer","title":"Max Calls","maximum":100,"minimum":0,"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Max Calls","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX].max_calls","typeLabel":"integer | null"}},"required":["tool"],"title":"AgentTestToolCallAssertion","type":"object","uniqueKey":"simulation.oneOf.0.assertions.tool_calls.items.[INDEX]","typeLabel":"AgentTestToolCallAssertion · object"},"maxItems":100,"title":"Tool Calls","type":"array","uniqueKey":"simulation.oneOf.0.assertions.tool_calls","typeLabel":"AgentTestToolCallAssertion · object[]"},"forbidden_tools":{"items":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX].description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools.items.[INDEX]","typeLabel":"AgentTestReferencedTool · object"},"maxItems":100,"title":"Forbidden Tools","type":"array","uniqueKey":"simulation.oneOf.0.assertions.forbidden_tools","typeLabel":"AgentTestReferencedTool · object[]"},"ended_by":{"oneOf":[{"type":"string","title":"Ended By","enum":["agent","user","transfer","any"],"uniqueKey":"simulation.oneOf.0.assertions.ended_by.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Ended By","uniqueKey":"simulation.oneOf.0.assertions.ended_by.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.assertions.ended_by","typeLabel":"enum\u003cstring> | null"}},"title":"AgentTestSimulationAssertions","type":"object","uniqueKey":"simulation.oneOf.0.assertions","typeLabel":"AgentTestSimulationAssertions · object"},"tool_mocks":{"additionalProperties":false,"description":"all: every tool answers from a mock, except real_tools, which run for\nreal. selected: only the listed tools do, the rest follow fallback.\nnone: every tool hits its real endpoint.","properties":{"strategy":{"default":"all","enum":["all","selected","none"],"title":"Strategy","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.strategy","typeLabel":"enum\u003cstring>"},"fallback":{"default":"error","enum":["error","real"],"title":"Fallback","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.fallback","typeLabel":"enum\u003cstring>"},"tools":{"items":{"additionalProperties":false,"description":"A canned result for one library tool, optionally gated on the call arguments.","properties":{"tool":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool.description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].tool","typeLabel":"AgentTestReferencedTool · object"},"result":{"oneOf":[{"default":null}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].result","typeLabel":"any"},"status":{"oneOf":[{"type":"integer","title":"Status","maximum":599,"minimum":100,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status.oneOf.0","typeLabel":"integer"},{"type":"null","title":"Status","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].status","typeLabel":"integer | null"},"when":{"oneOf":[{"type":"object","title":"When","additionalProperties":{"additionalProperties":false,"description":"How one tool argument is compared: exact string equality, a regular\nexpression searched in the value, or mere presence. Regexes are\nJavaScript without flags, mock conditions run in the runtime as written\nand assertions are translated to Python for scoring.","properties":{"type":{"default":"exact","enum":["exact","regex","any"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.type","typeLabel":"enum\u003cstring>"},"value":{"oneOf":[{"type":"string","title":"Value","maxLength":1000,"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value.oneOf.0","typeLabel":"string"},{"type":"null","title":"Value","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties.value","typeLabel":"string | null"}},"title":"AgentTestParamMatcher","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0.additionalProperties","typeLabel":"AgentTestParamMatcher · object"},"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.0","typeLabel":"When · object"},{"type":"null","title":"When","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].when","typeLabel":"When · object | null"},"error":{"default":false,"title":"Error","type":"boolean","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX].error","typeLabel":"boolean"}},"required":["tool"],"title":"AgentTestToolMock","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.tools.items.[INDEX]","typeLabel":"AgentTestToolMock · object"},"maxItems":50,"title":"Tools","type":"array","uniqueKey":"simulation.oneOf.0.tool_mocks.tools","typeLabel":"AgentTestToolMock · object[]"},"real_tools":{"items":{"additionalProperties":false,"description":"Tool the runner should (or should not) observe on the next turn. A\nwebhook or client tool is referenced by its library id, an integration\ntool by \"\u003cprovider_key>:\u003ctool_name>\" (for example\n\"google_calendar:create_event\").","properties":{"id":{"maxLength":64,"minLength":1,"title":"Id","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].id","typeLabel":"string"},"name":{"maxLength":200,"minLength":1,"title":"Name","type":"string","isRequired":true,"uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].name","typeLabel":"string"},"type":{"default":"webhook","enum":["webhook","client","integration"],"title":"Type","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"description":{"default":"","maxLength":2000,"title":"Description","type":"string","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX].description","typeLabel":"string"}},"required":["id","name"],"title":"AgentTestReferencedTool","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools.items.[INDEX]","typeLabel":"AgentTestReferencedTool · object"},"maxItems":50,"title":"Real Tools","type":"array","uniqueKey":"simulation.oneOf.0.tool_mocks.real_tools","typeLabel":"AgentTestReferencedTool · object[]"}},"title":"AgentTestToolMocks","type":"object","uniqueKey":"simulation.oneOf.0.tool_mocks","typeLabel":"AgentTestToolMocks · object"},"simulated_user_model":{"oneOf":[{"type":"string","title":"Simulated User Model","uniqueKey":"simulation.oneOf.0.simulated_user_model.oneOf.0","typeLabel":"string"},{"type":"null","title":"Simulated User Model","uniqueKey":"simulation.oneOf.0.simulated_user_model.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.simulated_user_model","typeLabel":"string | null"},"repeat_count":{"default":1,"maximum":20,"minimum":1,"title":"Repeat Count","type":"integer","uniqueKey":"simulation.oneOf.0.repeat_count","typeLabel":"integer"},"channel":{"oneOf":[{"type":"string","title":"Channel","enum":["web_voice","phone_inbound","phone_outbound"],"uniqueKey":"simulation.oneOf.0.channel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","title":"Channel","uniqueKey":"simulation.oneOf.0.channel.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation.oneOf.0.channel","typeLabel":"enum\u003cstring> | null"},"context":{"additionalProperties":false,"description":"The run's platform context switches, the agent config's `context`\nsection for a test. Off so a date pinned in the prompt holds.","properties":{"current_time":{"default":false,"title":"Current Time","type":"boolean","uniqueKey":"simulation.oneOf.0.context.current_time","typeLabel":"boolean"}},"title":"AgentTestSimulationContext","type":"object","uniqueKey":"simulation.oneOf.0.context","typeLabel":"AgentTestSimulationContext · object"}},"additionalProperties":false,"uniqueKey":"simulation.oneOf.0","typeLabel":"AgentTestSimulationConfig · object"},{"type":"null","uniqueKey":"simulation.oneOf.1","typeLabel":"null"}],"uniqueKey":"simulation","typeLabel":"AgentTestSimulationConfig · object | null"},"dynamic_variables":{"additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"dynamic_variables.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"integer","uniqueKey":"dynamic_variables.additionalProperties.oneOf.1","typeLabel":"integer"},{"type":"number","uniqueKey":"dynamic_variables.additionalProperties.oneOf.2","typeLabel":"number"},{"type":"boolean","uniqueKey":"dynamic_variables.additionalProperties.oneOf.3","typeLabel":"boolean"}],"uniqueKey":"dynamic_variables.additionalProperties","typeLabel":"string | integer | number | boolean"},"title":"Dynamic Variables","type":"object","uniqueKey":"dynamic_variables","typeLabel":"Dynamic Variables · object"}},"required":["test_id","workspace_id","name","test_type","created_at","updated_at"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"test_id":"\u003cstring>","workspace_id":"\u003cstring>","name":"\u003cstring>","test_type":"next_reply","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","agent_ids":["\u003cstring>"],"conversation":[{"role":"agent","text":"\u003cstring>"}],"expectation":"","success_examples":["\u003cstring>"],"failure_examples":["\u003cstring>"],"referenced_tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"tool_parameters":[{"name":"\u003cstring>","value":"\u003cstring>","type":"string"}],"verify_absence":false,"simulation":{"scenario":"\u003cstring>","success_conditions":[{"name":"\u003cstring>","description":"\u003cstring>"}],"max_turns":10,"assertions":{"tool_calls":[{"tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"params":{},"min_calls":1,"max_calls":50}],"forbidden_tools":[{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""}],"ended_by":"agent"},"tool_mocks":{"strategy":"all","fallback":"error","tools":[{"tool":{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""},"result":"\u003cunknown>","status":349,"when":{},"error":false}],"real_tools":[{"id":"\u003cstring>","name":"\u003cstring>","type":"webhook","description":""}]},"simulated_user_model":"\u003cstring>","repeat_count":1,"channel":"web_voice","context":{"current_time":false}},"dynamic_variables":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"8dff79e8-1727-4bae-a986-203208289758":{"description":"No permission -- see authorization schemes","headers":{},"content":{"application/json":{"schema":{"properties":{"status":{"title":"Status","type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","uniqueKey":"reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"string | null"}},"required":["status","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"message":"\u003cstring>","reason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"4ac95940-913e-451d-a16b-75e0b0b5691e":{"description":"Nothing matches the given URI","headers":{},"content":{"application/json":{"schema":{"properties":{"status":{"title":"Status","type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","uniqueKey":"reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"string | null"}},"required":["status","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"message":"\u003cstring>","reason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"13f18493-7985-4bde-86af-c5eb1e2b4a7a":{"description":"","headers":{},"content":{"application/json":{"schema":{"properties":{"status":{"title":"Status","type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","uniqueKey":"reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"string | null"}},"required":["status","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"message":"\u003cstring>","reason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"3c7c76db-633c-45d6-bcf4-099548ed6be2":{"description":"The server cannot process the request due to a high load","headers":{},"content":{"application/json":{"schema":{"properties":{"status":{"title":"Status","type":"integer","isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"message":{"title":"Message","type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","title":"Reason","uniqueKey":"reason.oneOf.0","typeLabel":"string"},{"type":"null","title":"Reason","uniqueKey":"reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"reason","typeLabel":"string | null"}},"required":["status","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":123,"message":"\u003cstring>","reason":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"54f59b39-7c6e-4276-81d0-169a3d43d84b":{"BearerAuth":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"BearerAuth"}}},"servers":{"4c05306a-8a2b-4dca-ae0d-0b87050df242":{"description":"Fish Audio API","url":"https://api.fish.audio"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"hanabiaiinc","siteName":"Fish Audio","title":"Update Test - Fish Audio","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T16:11:33.671Z","originalFileLocation":"api-reference/endpoint/agent/update-test.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=\"Patch test fields. Omitted fields keep their value.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fish Audio\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_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/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update Test - Fish Audio\">\u003cmeta data-mint-head property=\"og:description\" content=\"Patch test fields. Omitted fields keep their value.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fish Audio\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fish.audio/api-reference/endpoint/agent/update-test\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hanabiaiinc.mintlify.site/_mintlify/api/og/v2?division=Tests\u0026amp;title=Update+Test\u0026amp;description=Patch+test+fields.+Omitted+fields+keep+their+value.\u0026amp;theme=61fce384ffd542cc270fb190\u0026amp;signature=e3dd23ffebf2ca0ce162348d7bb05ae19fbbc05c8cf79129e8e8e42be61100f7\">\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=\"Update Test - Fish Audio\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Patch test fields. Omitted fields keep their value.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hanabiaiinc.mintlify.site/_mintlify/api/og/v2?division=Tests\u0026amp;title=Update+Test\u0026amp;description=Patch+test+fields.+Omitted+fields+keep+their+value.\u0026amp;theme=61fce384ffd542cc270fb190\u0026amp;signature=e3dd23ffebf2ca0ce162348d7bb05ae19fbbc05c8cf79129e8e8e42be61100f7\">\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/hanabiaiinc/rHJNuwD9FcQhvMwX/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fish Audio\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0e0e0e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fish.audio/api-reference/endpoint/agent/update-test\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/agent/update-test.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fish.audio/#organization\",\"name\":\"Fish Audio\",\"url\":\"https://docs.fish.audio\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hanabiaiinc/amYp9Dj31LtlHliX/logo/light.png?fit=max\u0026auto=format\u0026n=amYp9Dj31LtlHliX\u0026q=85\u0026s=305973cd6a8d11dbf36d1ec682ee845e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fish.audio#website\",\"name\":\"Fish Audio\",\"url\":\"https://docs.fish.audio\",\"publisher\":{\"@id\":\"https://docs.fish.audio/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test#webpage\",\"url\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test\",\"name\":\"Update Test\",\"description\":\"Patch test fields. Omitted fields keep their value.\",\"dateModified\":\"2026-09-29T16:11:33.671Z\",\"isPartOf\":{\"@id\":\"https://docs.fish.audio#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Agents API\",\"item\":\"https://docs.fish.audio/api-reference/agent-errors\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tests\",\"item\":\"https://docs.fish.audio/api-reference/endpoint/agent/list-tests\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update Test\",\"item\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test#apireference\",\"headline\":\"Update Test\",\"name\":\"Update Test\",\"description\":\"Patch test fields. Omitted fields keep their value.\",\"url\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fish.audio/api-reference/endpoint/agent/update-test#webpage\"},\"dateModified\":\"2026-09-29T16:11:33.671Z\",\"publisher\":{\"@id\":\"https://docs.fish.audio/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fish.audio#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Fish Audio\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Fish Audio\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/endpoint/agent/update-test.md","siteName":"Fish Audio","nav":{"global":null,"tabs":[{"tab":"Overview","pages":[{"title":"Overview","href":"/overview/capabilities"}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/developer-guide/sdk-guide/quickstart"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"Introduction","icon":"book","iconType":"solid","href":"/api-reference/introduction"},{"title":"Tracing \u0026 Performance Analysis","icon":"chart-line","iconType":"solid","href":"/api-reference/observability"},{"title":"Errors","icon":"triangle-exclamation","href":"/api-reference/errors"}]},{"group":"REST API","pages":[{"group":"Wallet","icon":"wallet","pages":[{"openapi":"get /wallet/{user_id}/api-credit","title":"Get API Credit","icon":"wallet","iconType":"solid","href":"/api-reference/endpoint/wallet/get-api-credit"},{"openapi":"get /wallet/{user_id}/package","title":"Get User Package","icon":"star","iconType":"solid","href":"/api-reference/endpoint/wallet/get-user-package"}]},{"group":"Voice Models","icon":"cube","pages":[{"openapi":"get /model","title":"List Models","icon":"list","iconType":"solid","href":"/api-reference/endpoint/model/list-models"},{"openapi":"post /model","title":"Create Model","icon":"circle-plus","iconType":"solid","href":"/api-reference/endpoint/model/create-model"},{"openapi":"get /model/{id}","title":"Get Model","icon":"circle-info","iconType":"solid","href":"/api-reference/endpoint/model/get-model"},{"openapi":"delete /model/{id}","title":"Delete Model","icon":"trash","iconType":"solid","href":"/api-reference/endpoint/model/delete-model"},{"openapi":"patch /model/{id}","title":"Update Model","icon":"pen-to-square","iconType":"solid","href":"/api-reference/endpoint/model/update-model"}]},{"group":"Pronunciation Dictionaries","icon":"book-open","pages":[{"openapi":"get /v1/pronunciation-dictionaries","title":"List Dictionaries","icon":"list","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/list-dictionaries"},{"openapi":"post /v1/pronunciation-dictionaries","title":"Create Dictionary","icon":"circle-plus","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/create-dictionary"},{"openapi":"get /v1/pronunciation-dictionaries/{dictionary_id}","title":"Get Dictionary","icon":"book-open","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/get-dictionary"},{"openapi":"patch /v1/pronunciation-dictionaries/{dictionary_id}","title":"Update Dictionary","icon":"pen-to-square","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/update-dictionary"},{"openapi":"delete /v1/pronunciation-dictionaries/{dictionary_id}","title":"Delete Dictionary","icon":"trash","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/delete-dictionary"},{"openapi":"get /v1/pronunciation-dictionaries/{dictionary_id}/versions","title":"List Versions","icon":"clock-rotate-left","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/list-versions"},{"openapi":"post /v1/pronunciation-dictionaries/{dictionary_id}/versions","title":"Publish Version","icon":"upload","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/create-version"},{"openapi":"get /v1/pronunciation-dictionaries/{dictionary_id}/versions/{version_id}","title":"Get Version","icon":"file-lines","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/get-version"},{"openapi":"get /v1/pronunciation-dictionaries/{dictionary_id}/versions/{version_id}/compare","title":"Compare Versions","icon":"code-compare","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/compare-versions"},{"openapi":"delete /v1/pronunciation-dictionaries/{dictionary_id}/versions/{version_id}","title":"Delete Version","icon":"trash-can","iconType":"solid","href":"/api-reference/endpoint/pronunciation-dictionary/delete-version"}]},{"group":"TTS (v1)","icon":"code","pages":[{"openapi":"post /v1/tts","title":"Text to Speech","icon":"comment-dots","iconType":"solid","href":"/api-reference/endpoint/openapi-v1/text-to-speech"},{"openapi":"post /v1/tts/stream/with-timestamp","title":"Text to Speech Stream with Timestamps","icon":"waveform-lines","iconType":"solid","href":"/api-reference/endpoint/openapi-v1/text-to-speech-stream-with-timestamps"},{"asyncapi":"api-reference/asyncapi.yml ttsLive","title":"WebSocket TTS Streaming","icon":"webhook","iconType":"solid","href":"/api-reference/endpoint/websocket/tts-live"},{"asyncapi":"api-reference/asyncapi.yml ttsLiveWithTimestamps","title":"WebSocket TTS with Timestamps","icon":"webhook","iconType":"solid","href":"/api-reference/endpoint/openapi-v1/text-to-speech-live-with-timestamps"}]},{"group":"ASR (v1)","icon":"microphone","pages":[{"openapi":"post /v1/asr","title":"Speech to Text","icon":"microphone","iconType":"solid","href":"/api-reference/endpoint/openapi-v1/speech-to-text"},{"asyncapi":"api-reference/asyncapi-asr-realtime.yml asrRealtime","title":"WebSocket Realtime Speech to Text","icon":"webhook","iconType":"solid","tag":"Preview","href":"/api-reference/endpoint/websocket/asr-realtime"}]},{"group":"Voice Design","icon":"wand-magic-sparkles","pages":[{"openapi":"post /v1/voice-design","title":"Voice Design","icon":"wand-magic-sparkles","iconType":"solid","href":"/api-reference/endpoint/openapi-v1/voice-design"}]}]},{"group":"Agents API","pages":[{"title":"Agents API Errors","icon":"triangle-exclamation","href":"/api-reference/agent-errors"},{"group":"Agents","icon":"robot","pages":[{"openapi":"get /v1/agent/agents","title":"List Agents","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/list-agents"},{"openapi":"post /v1/agent/agents","title":"Create Agent","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/create-agent"},{"openapi":"get /v1/agent/agents/{agent_id}","title":"Get Agent","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/get-agent"},{"openapi":"patch /v1/agent/agents/{agent_id}","title":"Update Agent","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/update-agent"},{"openapi":"delete /v1/agent/agents/{agent_id}","title":"Delete Agent","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/delete-agent"},{"openapi":"get /v1/agent/agents/{agent_id}/config","title":"Get Draft Config","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/get-draft-config"},{"openapi":"patch /v1/agent/agents/{agent_id}/config","title":"Update Draft Config","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/update-draft-config"},{"openapi":"post /v1/agent/agents/{agent_id}/publish","title":"Publish Agent","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/publish-agent"},{"openapi":"get /v1/agent/agents/{agent_id}/versions","title":"List Agent Versions","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/list-agent-versions"},{"openapi":"get /v1/agent/agents/{agent_id}/versions/{version_number}","title":"Get Agent Version","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/get-agent-version"},{"openapi":"get /v1/agent/agents/{agent_id}/widget","title":"Get Widget Config","icon":"robot","iconType":"solid","href":"/api-reference/endpoint/agent/get-widget-config"}]},{"group":"Sessions","icon":"headset","pages":[{"openapi":"post /v1/agent/sessions","title":"Create Agent Session","icon":"headset","iconType":"solid","href":"/api-reference/endpoint/agent/create-agent-session"},{"openapi":"get /v1/agent/sessions","title":"List Agent Sessions","icon":"headset","iconType":"solid","href":"/api-reference/endpoint/agent/list-agent-sessions"},{"openapi":"get /v1/agent/sessions/{session_id}","title":"Get Agent Session","icon":"headset","iconType":"solid","href":"/api-reference/endpoint/agent/get-agent-session"},{"openapi":"get /v1/agent/sessions/{session_id}/recording","title":"Get Agent Session Recording","icon":"headset","iconType":"solid","href":"/api-reference/endpoint/agent/get-agent-session-recording"},{"openapi":"post /v1/agent/sessions/{session_id}/end","title":"End Agent Session","icon":"headset","iconType":"solid","href":"/api-reference/endpoint/agent/end-agent-session"}]},{"group":"Tools","icon":"wrench","pages":[{"openapi":"get /v1/agent/tools","title":"List Tools","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/list-tools"},{"openapi":"post /v1/agent/tools","title":"Create Tool","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/create-tool"},{"openapi":"get /v1/agent/tools/{tool_id}","title":"Get Tool","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/get-tool"},{"openapi":"patch /v1/agent/tools/{tool_id}","title":"Update Tool","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/update-tool"},{"openapi":"delete /v1/agent/tools/{tool_id}","title":"Delete Tool","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/delete-tool"},{"openapi":"get /v1/agent/tools/{tool_id}/agents","title":"List Agents Using Tool","icon":"wrench","iconType":"solid","href":"/api-reference/endpoint/agent/list-agents-using-tool"}]},{"group":"Tests","icon":"flask","pages":[{"openapi":"get /v1/agent/tests","title":"List Tests","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/list-tests"},{"openapi":"post /v1/agent/tests","title":"Create Test","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/create-test"},{"openapi":"get /v1/agent/tests/{test_id}","title":"Get Test","description":"Fetch one test's full definition, which is also the export format.","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/get-test"},{"openapi":"patch /v1/agent/tests/{test_id}","title":"Update Test","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/update-test"},{"openapi":"delete /v1/agent/tests/{test_id}","title":"Delete Test","description":"Delete a test and detach it from every agent.","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/delete-test"},{"openapi":"put /v1/agent/agents/{agent_id}/tests/{test_id}","title":"Attach Test","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/attach-test"},{"openapi":"delete /v1/agent/agents/{agent_id}/tests/{test_id}","title":"Detach Test","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/detach-test"},{"openapi":"get /v1/agent/agents/{agent_id}/test-tools","title":"List Test Tools","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/list-test-tools"},{"openapi":"post /v1/agent/agents/{agent_id}/tests/run","title":"Run Tests","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/run-tests"},{"openapi":"get /v1/agent/agents/{agent_id}/test-batches","title":"List Test Batches","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/list-test-batches"},{"openapi":"get /v1/agent/agents/{agent_id}/test-batches/{batch_id}","title":"Get Test Batch","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/get-test-batch"},{"openapi":"get /v1/agent/test-runs","title":"List Test Runs","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/list-test-runs"},{"openapi":"get /v1/agent/test-runs/{run_id}","title":"Get Test Run","icon":"flask","iconType":"solid","href":"/api-reference/endpoint/agent/get-test-run"}]},{"group":"Knowledge Sources","icon":"book","pages":[{"openapi":"get /v1/agent/knowledge-sources","title":"List Knowledge Sources","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/list-knowledge-sources"},{"openapi":"post /v1/agent/knowledge-sources","title":"Create Knowledge Source","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/create-knowledge-source"},{"openapi":"get /v1/agent/knowledge-sources/{source_id}","title":"Get Knowledge Source","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/get-knowledge-source"},{"openapi":"patch /v1/agent/knowledge-sources/{source_id}","title":"Update Knowledge Source","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/update-knowledge-source"},{"openapi":"delete /v1/agent/knowledge-sources/{source_id}","title":"Delete Knowledge Source","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/delete-knowledge-source"},{"openapi":"get /v1/agent/knowledge-sources/{source_id}/agents","title":"List Agents Using Knowledge Source","icon":"book","iconType":"solid","href":"/api-reference/endpoint/agent/list-agents-using-knowledge-source"}]},{"group":"Phone Numbers","icon":"phone","pages":[{"openapi":"get /v1/agent/available-phone-numbers","title":"Search Available Phone Numbers","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/search-available-phone-numbers"},{"openapi":"get /v1/agent/phone-numbers","title":"List Phone Numbers","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/list-phone-numbers"},{"openapi":"post /v1/agent/phone-numbers","title":"Purchase Phone Number","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/purchase-phone-number"},{"openapi":"get /v1/agent/phone-numbers/{phone_number_id}","title":"Get Phone Number","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/get-phone-number"},{"openapi":"patch /v1/agent/phone-numbers/{phone_number_id}","title":"Update Phone Number","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/update-phone-number"},{"openapi":"delete /v1/agent/phone-numbers/{phone_number_id}","title":"Release Phone Number","icon":"phone","iconType":"solid","href":"/api-reference/endpoint/agent/release-phone-number"}]},{"group":"Phone Calls","icon":"phone-arrow-up-right","pages":[{"openapi":"post /v1/agent/phone-calls","title":"Create Phone Call","icon":"phone-arrow-up-right","iconType":"solid","href":"/api-reference/endpoint/agent/create-phone-call"}]}]},{"group":"SDK Reference","pages":[{"group":"Python SDK","icon":"python","pages":[{"title":"Overview","icon":"python","href":"/api-reference/sdk/python/overview"},{"group":"Reference","icon":"book-open","pages":[{"title":null,"href":"/api-reference/sdk/python/client"},{"title":null,"href":"/api-reference/sdk/python/resources"},{"title":null,"href":"/api-reference/sdk/python/types"},{"title":null,"href":"/api-reference/sdk/python/core"},{"title":null,"href":"/api-reference/sdk/python/utils"},{"title":null,"href":"/api-reference/sdk/python/exceptions"}]},{"title":"Legacy","icon":"clock-rotate-left","href":"/archive/python-sdk-legacy/index"}]},{"group":"JavaScript SDK","icon":"js","pages":[{"title":"JavaScript SDK Reference","sidebarTitle":"Reference","icon":"book","href":"/api-reference/sdk/javascript/api-reference"}]}]}]}]},"basePath":"","title":"Update Test - Fish Audio","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}