Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.
GET
/
test-suites
/
{id}
/
runs
/
{runId}
/
suggest-fix
Get Suggested Fix for a Run
curl --request GET \ --url https://api.revring.ai/v1/test-suites/{id}/runs/{runId}/suggest-fix \ --header 'x-api-key: <api-key>'
API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.
A proposed prompt change covering every failed attempt in a test run.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"RevRing AI Documentation","colors":{"primary":"#005cdd","light":"#5b9efa","dark":"#005cdd"},"logo":{"light":"https://mintcdn.com/revringinc/4zfe2kVVWVYo-Rox/logo/light.svg?fit=max\u0026auto=format\u0026n=4zfe2kVVWVYo-Rox\u0026q=85\u0026s=e28235c04eceefff5b3adb1cb7c33353","dark":"https://mintcdn.com/revringinc/4zfe2kVVWVYo-Rox/logo/dark.svg?fit=max\u0026auto=format\u0026n=4zfe2kVVWVYo-Rox\u0026q=85\u0026s=0ceef80328d53157b1b3a45914fb58a1"},"favicon":"https://mintcdn.com/revringinc/4zfe2kVVWVYo-Rox/favicon.svg?fit=max\u0026auto=format\u0026n=4zfe2kVVWVYo-Rox\u0026q=85\u0026s=3161414ca314cb968d3be90385506fbb","navbar":{"links":[{"href":"mailto:contact@revring.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.revring.ai"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/revring"}},"contextual":{"options":["copy","view"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"revringinc","hasAudioNarration":false,"actualSubdomain":"revringinc","customDomains":["docs.revring.ai"],"gitSource":{"type":"github","owner":"revringai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6accccd3f03b0dc1b4aaf120","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"API Reference","count":148},{"language":"default","tag":"Guides","count":26},{"language":"default","tag":"Platform","count":22},{"language":"default","tag":"Campaigns","count":11},{"language":"default","tag":"Agents","count":10},{"language":"default","tag":"Calls","count":10},{"language":"default","tag":"Voices","count":10},{"language":"default","tag":"Alerts","count":8},{"language":"default","tag":"SIP Trunks","count":8},{"language":"default","tag":"Test Runs","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/test-suites/get-run-suggested-fix","slug":"/api-reference/test-suites/get-run-suggested-fix","pageMetadata":{"title":"Get Suggested Fix for a Run","openapi":"GET /test-suites/{id}/runs/{runId}/suggest-fix","description":"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: `status` stays `running` while it is being prepared and becomes `ready` when `result` holds the suggestion. `failed` means it could not be prepared; request a new one.","href":"/api-reference/test-suites/get-run-suggested-fix"},"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: [\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: \", _jsx(_components.code, {\n children: \"status\"\n }), \" stays \", _jsx(_components.code, {\n children: \"running\"\n }), \" while it is being prepared and becomes \", _jsx(_components.code, {\n children: \"ready\"\n }), \" when \", _jsx(_components.code, {\n children: \"result\"\n }), \" holds the suggestion. \", _jsx(_components.code, {\n children: \"failed\"\n }), \" means it could not be prepared; request a new 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":"Get Suggested Fix for a Run","openapi":"GET /test-suites/{id}/runs/{runId}/suggest-fix","description":"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: `status` stays `running` while it is being prepared and becomes `ready` when `result` holds the suggestion. `failed` means it could not be prepared; request a new one.","href":"/api-reference/test-suites/get-run-suggested-fix"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"summary":"Get Suggested Fix for a Run","description":"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: `status` stays `running` while it is being prepared and becomes `ready` when `result` holds the suggestion. `failed` means it could not be prepared; request a new one.","operationId":"getRunSuggestedFix","tags":["Test Suites"],"responses":{"200":"c5099a71-c518-4bd6-aecd-48a8e6c37d3d","400":"26989b3c-2324-46c0-ba02-604b4b3b1238","401":"713c5f44-d07f-4198-aa55-6f0231fce71a","404":"51013726-b9fb-440e-89e7-9f743d8c714d"},"method":"get","type":"path","servers":["9d0997fe-7397-47d9-a3af-b8c62abb4b63"],"security":["6fa6cbe6-9d37-480e-b7e5-09d33fd7b619"],"path":"/test-suites/{id}/runs/{runId}/suggest-fix","baseUrlOptions":["https://api.revring.ai/v1"],"title":"Get Suggested Fix for a Run","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"85f40532-e3b8-4f2d-b8bc-736d36503aa9":{"name":"id","in":"path","required":true,"description":"Test suite ID","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Test suite ID","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"432de316-e8aa-446c-9f8e-077b0cfe8589":{"name":"runId","in":"path","required":true,"description":"Test run ID","schema":{"type":"string","format":"uuid","isRequired":true,"description":"Test run ID","uniqueKey":"","typeLabel":"string\u003cuuid>"}}},"responses":{"c5099a71-c518-4bd6-aecd-48a8e6c37d3d":{"description":"Current state of the suggestion","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"A proposed prompt change covering every failed attempt in a test run.","properties":{"status":{"type":"string","enum":["idle","running","ready","failed"],"description":"`idle` = none requested for this run. `running` = being prepared. `ready` = `result` holds the suggestion. `failed` = could not be prepared, request another.","uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"result":{"oneOf":[{"type":"object","description":"The suggestion. Present when `status` is `ready`, otherwise null.","properties":{"analysis":{"type":"string","description":"Overall diagnosis across the run's failures, leading with a shared root cause when there is one","uniqueKey":"data.result.oneOf.0.analysis","typeLabel":"string"},"changesSummary":{"type":"array","items":{"type":"string","uniqueKey":"data.result.oneOf.0.changesSummary.items.[INDEX]","typeLabel":"string"},"description":"Plain-language summary of what was changed","uniqueKey":"data.result.oneOf.0.changesSummary","typeLabel":"string[]"},"suggestedPrompt":{"type":"string","description":"The complete corrected prompt, ready to save to the agent","uniqueKey":"data.result.oneOf.0.suggestedPrompt","typeLabel":"string"},"currentPrompt":{"type":"string","description":"The agent prompt the suggestion was written against, for comparison","uniqueKey":"data.result.oneOf.0.currentPrompt","typeLabel":"string"},"rubricIssues":{"type":"array","items":{"type":"string","uniqueKey":"data.result.oneOf.0.rubricIssues.items.[INDEX]","typeLabel":"string"},"description":"Problems found in the test's pass criteria, if any","uniqueKey":"data.result.oneOf.0.rubricIssues","typeLabel":"string[]"},"perAttempt":{"type":"array","description":"One entry per failed attempt analyzed, in the order the attempts ran","items":{"type":"object","properties":{"attemptId":{"type":"string","description":"The failed attempt","uniqueKey":"data.result.oneOf.0.perAttempt.items.[INDEX].attemptId","typeLabel":"string"},"testCaseName":{"type":"string","description":"Name of the test that failed","uniqueKey":"data.result.oneOf.0.perAttempt.items.[INDEX].testCaseName","typeLabel":"string"},"analysis":{"type":"string","description":"Why this test failed and which part of the edit addresses it","uniqueKey":"data.result.oneOf.0.perAttempt.items.[INDEX].analysis","typeLabel":"string"}},"uniqueKey":"data.result.oneOf.0.perAttempt.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.result.oneOf.0.perAttempt","typeLabel":"object[]"},"skippedAttemptIds":{"type":"array","items":{"type":"string","uniqueKey":"data.result.oneOf.0.skippedAttemptIds.items.[INDEX]","typeLabel":"string"},"description":"Present only on very large runs: the oldest failed attempts beyond the most recent 12, which were not analyzed","uniqueKey":"data.result.oneOf.0.skippedAttemptIds","typeLabel":"string[]"},"edits":{"type":"array","items":{"type":"object","properties":{"find":{"type":"string","uniqueKey":"data.result.oneOf.0.edits.items.[INDEX].find","typeLabel":"string"},"replace":{"type":"string","uniqueKey":"data.result.oneOf.0.edits.items.[INDEX].replace","typeLabel":"string"}},"uniqueKey":"data.result.oneOf.0.edits.items.[INDEX]","typeLabel":"object"},"description":"The targeted edits that turn `currentPrompt` into `suggestedPrompt`, for rendering a diff. Usually present; absent when the suggestion was produced as a full rewrite, so always treat `suggestedPrompt` as the source of truth","uniqueKey":"data.result.oneOf.0.edits","typeLabel":"object[]"}},"uniqueKey":"data.result.oneOf.0","typeLabel":"object"},{"type":"null","description":"The suggestion. Present when `status` is `ready`, otherwise null.","properties":{"analysis":{"type":"string","description":"Overall diagnosis across the run's failures, leading with a shared root cause when there is one"},"changesSummary":{"type":"array","items":{"type":"string"},"description":"Plain-language summary of what was changed"},"suggestedPrompt":{"type":"string","description":"The complete corrected prompt, ready to save to the agent"},"currentPrompt":{"type":"string","description":"The agent prompt the suggestion was written against, for comparison"},"rubricIssues":{"type":"array","items":{"type":"string"},"description":"Problems found in the test's pass criteria, if any"},"perAttempt":{"type":"array","description":"One entry per failed attempt analyzed, in the order the attempts ran","items":{"type":"object","properties":{"attemptId":{"type":"string","description":"The failed attempt"},"testCaseName":{"type":"string","description":"Name of the test that failed"},"analysis":{"type":"string","description":"Why this test failed and which part of the edit addresses it"}}}},"skippedAttemptIds":{"type":"array","items":{"type":"string"},"description":"Present only on very large runs: the oldest failed attempts beyond the most recent 12, which were not analyzed"},"edits":{"type":"array","items":{"type":"object","properties":{"find":{"type":"string"},"replace":{"type":"string"}}},"description":"The targeted edits that turn `currentPrompt` into `suggestedPrompt`, for rendering a diff. Usually present; absent when the suggestion was produced as a full rewrite, so always treat `suggestedPrompt` as the source of truth"}},"uniqueKey":"data.result.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.result","typeLabel":"object | null"},"stale":{"type":"boolean","description":"Present when `status` is `ready`. `true` means the agent's prompt has changed since this suggestion was written, so saving `suggestedPrompt` would overwrite those newer edits; request a fresh suggestion instead.","uniqueKey":"data.stale","typeLabel":"boolean"},"stage":{"type":"string","enum":["analyzing","writing"],"description":"Present while `status` is `running`: `analyzing` while the failures are being read, `writing` once the corrected output is being produced.","uniqueKey":"data.stage","typeLabel":"enum\u003cstring>"},"progress":{"type":"object","description":"Present while `status` is `running`, once writing begins.","properties":{"outputChars":{"type":"integer","description":"Characters of output produced so far","uniqueKey":"data.progress.outputChars","typeLabel":"integer"},"promptChars":{"type":"integer","description":"Size of the prompt under edit, for scale","uniqueKey":"data.progress.promptChars","typeLabel":"integer"}},"uniqueKey":"data.progress","typeLabel":"object"}},"uniqueKey":"data","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"status":"idle","result":{"analysis":"\u003cstring>","changesSummary":["\u003cstring>"],"suggestedPrompt":"\u003cstring>","currentPrompt":"\u003cstring>","rubricIssues":["\u003cstring>"],"perAttempt":[{"attemptId":"\u003cstring>","testCaseName":"\u003cstring>","analysis":"\u003cstring>"}],"skippedAttemptIds":["\u003cstring>"],"edits":[{"find":"\u003cstring>","replace":"\u003cstring>"}]},"stale":true,"stage":"analyzing","progress":{"outputChars":123,"promptChars":123}}}}},"exampleType":"generated"}},"exampleType":"generated"},"26989b3c-2324-46c0-ba02-604b4b3b1238":{"description":"The run has not finished yet, or it has no failed attempts to analyze","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"713c5f44-d07f-4198-aa55-6f0231fce71a":{"description":"Authentication required or API key invalid","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"unauthorized","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"unauthorized"}}},"exampleType":"generated"}},"exampleType":"generated"},"51013726-b9fb-440e-89e7-9f743d8c714d":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","example":"not_found","uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"not_found"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"6fa6cbe6-9d37-480e-b7e5-09d33fd7b619":{"apiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"9d0997fe-7397-47d9-a3af-b8c62abb4b63":{"url":"https://api.revring.ai/v1","description":"Production API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"x-api-key","type":"string","description":"API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"x-api-key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"revringinc","siteName":"RevRing AI Documentation","title":"Get Suggested Fix for a Run - RevRing AI Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-08-11T19:23:16.764Z","originalFileLocation":"api-reference/test-suites/get-run-suggested-fix.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=\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.\">\u003cmeta data-mint-head name=\"application-name\" content=\"RevRing AI Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_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/revringinc/yhLN44bkToDzQihq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get Suggested Fix for a Run - RevRing AI Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"RevRing AI Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://revringinc.mintlify.site/_mintlify/api/og/v2?division=Test+Runs\u0026amp;title=Get+Suggested+Fix+for+a+Run\u0026amp;description=Fetch+the+run-level+suggestion.+Poll+this+every+couple+of+seconds+after+requesting+one%3A+%60status%60+stays+%60running%60+while+it+is+being+prepared+and+becomes+%60ready%60+\u0026amp;theme=5a859751c31e3347cd57ea04\u0026amp;signature=2123ef71f4c4d3c903a22f9986af432cbedf3325a59c59123f9436cba6b3cab5\">\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=\"Get Suggested Fix for a Run - RevRing AI Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://revringinc.mintlify.site/_mintlify/api/og/v2?division=Test+Runs\u0026amp;title=Get+Suggested+Fix+for+a+Run\u0026amp;description=Fetch+the+run-level+suggestion.+Poll+this+every+couple+of+seconds+after+requesting+one%3A+%60status%60+stays+%60running%60+while+it+is+being+prepared+and+becomes+%60ready%60+\u0026amp;theme=5a859751c31e3347cd57ea04\u0026amp;signature=2123ef71f4c4d3c903a22f9986af432cbedf3325a59c59123f9436cba6b3cab5\">\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/revringinc/yhLN44bkToDzQihq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"RevRing AI Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#005cdd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix\">\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-suites/get-run-suggested-fix.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.revring.ai/#organization\",\"name\":\"RevRing AI Documentation\",\"url\":\"https://docs.revring.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/revringinc/4zfe2kVVWVYo-Rox/logo/light.svg?fit=max\u0026auto=format\u0026n=4zfe2kVVWVYo-Rox\u0026q=85\u0026s=e28235c04eceefff5b3adb1cb7c33353\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.revring.ai#website\",\"name\":\"RevRing AI Documentation\",\"url\":\"https://docs.revring.ai\",\"publisher\":{\"@id\":\"https://docs.revring.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix#webpage\",\"url\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix\",\"name\":\"Get Suggested Fix for a Run\",\"description\":\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.\",\"dateModified\":\"2026-08-11T19:23:16.764Z\",\"isPartOf\":{\"@id\":\"https://docs.revring.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Test Runs\",\"item\":\"https://docs.revring.ai/api-reference/test-suites/list-runs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Suggested Fix for a Run\",\"item\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix#apireference\",\"headline\":\"Get Suggested Fix for a Run\",\"name\":\"Get Suggested Fix for a Run\",\"description\":\"Fetch the run-level suggestion. Poll this every couple of seconds after requesting one: status stays running while it is being prepared and becomes ready when result holds the suggestion. failed means it could not be prepared; request a new one.\",\"url\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix\",\"mainEntityOfPage\":{\"@id\":\"https://docs.revring.ai/api-reference/test-suites/get-run-suggested-fix#webpage\"},\"dateModified\":\"2026-08-11T19:23:16.764Z\",\"publisher\":{\"@id\":\"https://docs.revring.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.revring.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"RevRing AI Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"RevRing AI Documentation","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Agents","pages":[{"title":"List Agents","openapi":"GET /agents","href":"/api-reference/agents/list"},{"title":"Get Agent","openapi":"GET /agents/{id}","href":"/api-reference/agents/get"},{"title":"Batch Get Agents","openapi":"POST /agents/batch-get","href":"/api-reference/agents/batch-get"},{"title":"Create Agent","openapi":"POST /agents","href":"/api-reference/agents/create"},{"title":"Draft an Agent From a Description","openapi":"POST /agents/draft","href":"/api-reference/agents/draft"},{"title":"Update Agent","openapi":"PATCH /agents/{id}","href":"/api-reference/agents/update"},{"title":"Chat With an Agent","openapi":"POST /agents/{id}/test-chat","href":"/api-reference/agents/test-chat"},{"title":"Talk to an Agent From a Browser","openapi":"POST /agents/{id}/test-call","href":"/api-reference/agents/test-call"},{"title":"Duplicate Agent","openapi":"POST /agents/{id}/duplicate","href":"/api-reference/agents/duplicate"},{"title":"Delete Agent","openapi":"DELETE /agents/{id}","href":"/api-reference/agents/delete"}]},{"group":"Agent Versions","pages":[{"title":"List Agent Versions","openapi":"GET /agents/{id}/revisions","href":"/api-reference/agents/list-revisions"},{"title":"Get Agent Version","openapi":"GET /agents/{id}/revisions/{revision}","href":"/api-reference/agents/get-revision"},{"title":"Restore Agent Version","openapi":"POST /agents/{id}/revisions/{revision}/restore","href":"/api-reference/agents/restore-revision"},{"title":"Publish Agent","openapi":"POST /agents/{id}/publish","href":"/api-reference/agents/publish"},{"title":"List Agent Environments","openapi":"GET /agents/{id}/environments","href":"/api-reference/agents/list-environments"},{"title":"Create or Update Environment","openapi":"PUT /agents/{id}/environments/{name}","href":"/api-reference/agents/upsert-environment"},{"title":"Delete Environment","openapi":"DELETE /agents/{id}/environments/{name}","href":"/api-reference/agents/delete-environment"}]},{"group":"Agent Phone Numbers","pages":[{"title":"List Agent Phone Numbers","openapi":"GET /agents/{id}/phone-numbers","href":"/api-reference/agents/list-phone-numbers"},{"title":"Add Phone Number","openapi":"POST /agents/{id}/phone-numbers","href":"/api-reference/agents/add-phone-number"},{"title":"Remove Phone Number","openapi":"DELETE /agents/{id}/phone-numbers/{phoneId}","href":"/api-reference/agents/remove-phone-number"},{"title":"Update Phone Number","openapi":"PATCH /agents/{id}/phone-numbers/{phoneId}","href":"/api-reference/agents/update-phone-number"}]},{"group":"Agent Custom Tools","pages":[{"title":"List Custom Tools","openapi":"GET /agents/{id}/custom-tools","href":"/api-reference/agents/list-custom-tools"},{"title":"Create Custom Tool","openapi":"POST /agents/{id}/custom-tools","href":"/api-reference/agents/create-custom-tool"},{"title":"Update Custom Tool","openapi":"PATCH /agents/{id}/custom-tools/{toolId}","href":"/api-reference/agents/update-custom-tool"},{"title":"Delete Custom Tool","openapi":"DELETE /agents/{id}/custom-tools/{toolId}","href":"/api-reference/agents/delete-custom-tool"},{"title":"Test MCP Server","openapi":"POST /agents/mcp-servers/test","href":"/api-reference/agents/test-mcp-server"}]},{"group":"Agent Knowledge Bases","pages":[{"title":"List Agent Knowledge Bases","openapi":"GET /agents/{id}/knowledge-bases","href":"/api-reference/agents/list-knowledge-bases"},{"title":"Link Knowledge Base","openapi":"POST /agents/{id}/knowledge-bases","href":"/api-reference/agents/link-knowledge-base"},{"title":"Unlink Knowledge Base","openapi":"DELETE /agents/{id}/knowledge-bases/{kbId}","href":"/api-reference/agents/unlink-knowledge-base"}]},{"group":"Agent Folders","pages":[{"title":"List Agent Folders","openapi":"GET /agent-folders","href":"/api-reference/agent-folders/list"},{"title":"Create Agent Folder","openapi":"POST /agent-folders","href":"/api-reference/agent-folders/create"},{"title":"Update Agent Folder","openapi":"PATCH /agent-folders/{id}","href":"/api-reference/agent-folders/update"},{"title":"Delete Agent Folder","openapi":"DELETE /agent-folders/{id}","href":"/api-reference/agent-folders/delete"}]},{"group":"Imports","pages":[{"title":"List Source Agents","openapi":"POST /imports/agents","href":"/api-reference/imports/list-agents"},{"title":"Import Agents","openapi":"POST /imports","href":"/api-reference/imports/import"}]},{"group":"SIP Trunks","pages":[{"title":"List SIP Trunks","openapi":"GET /sip-trunks","href":"/api-reference/sip-trunks/list"},{"title":"Get SIP Trunk","openapi":"GET /sip-trunks/{id}","href":"/api-reference/sip-trunks/get"},{"title":"List Available Phone Numbers","openapi":"GET /sip-trunks/{id}/available-numbers","href":"/api-reference/sip-trunks/list-available-numbers"},{"title":"Create SIP Trunk","openapi":"POST /sip-trunks","href":"/api-reference/sip-trunks/create"},{"title":"Update SIP Trunk","openapi":"PATCH /sip-trunks/{id}","href":"/api-reference/sip-trunks/update"},{"title":"Delete SIP Trunk","openapi":"DELETE /sip-trunks/{id}","href":"/api-reference/sip-trunks/delete"},{"title":"List Twilio Numbers","openapi":"POST /sip-trunks/connect/twilio/numbers","href":"/api-reference/sip-trunks/list-twilio-numbers"},{"title":"Connect Twilio","openapi":"POST /sip-trunks/connect/twilio","href":"/api-reference/sip-trunks/connect-twilio"}]},{"group":"Calls","pages":[{"title":"List Calls","openapi":"GET /calls","href":"/api-reference/calls/list"},{"title":"Get Call","openapi":"GET /calls/{id}","href":"/api-reference/calls/get"},{"title":"Batch Get Calls","openapi":"POST /calls/batch-get","href":"/api-reference/calls/batch-get"},{"title":"Send Call","openapi":"POST /calls","href":"/api-reference/calls/send"},{"title":"Cancel Call","openapi":"POST /calls/{id}/cancel","href":"/api-reference/calls/cancel"},{"title":"Send Instruction","openapi":"POST /calls/{id}/instructions","href":"/api-reference/calls/send-instruction"},{"title":"End Call","openapi":"POST /calls/{id}/end","href":"/api-reference/calls/end"},{"title":"Re-run Analysis","openapi":"POST /calls/{id}/reanalyze","href":"/api-reference/calls/reanalyze"},{"title":"Re-run Analysis (bulk)","openapi":"POST /calls/reanalyze","href":"/api-reference/calls/reanalyze-bulk"},{"title":"Export Calls","openapi":"GET /calls/export","href":"/api-reference/calls/export"}]},{"group":"Campaigns","pages":[{"title":"Create Campaign","openapi":"POST /campaigns","href":"/api-reference/campaigns/create"},{"title":"List Campaigns","openapi":"GET /campaigns","href":"/api-reference/campaigns/list"},{"title":"Get Campaign","openapi":"GET /campaigns/{id}","href":"/api-reference/campaigns/get"},{"title":"Update Campaign","openapi":"PATCH /campaigns/{id}","href":"/api-reference/campaigns/update"},{"title":"Delete Campaign","openapi":"DELETE /campaigns/{id}","href":"/api-reference/campaigns/delete"},{"title":"Add Campaign Contacts","openapi":"POST /campaigns/{id}/contacts","href":"/api-reference/campaigns/add-contacts"},{"title":"List Campaign Contacts","openapi":"GET /campaigns/{id}/contacts","href":"/api-reference/campaigns/list-contacts"},{"title":"Start Campaign","openapi":"POST /campaigns/{id}/start","href":"/api-reference/campaigns/start"},{"title":"Pause Campaign","openapi":"POST /campaigns/{id}/pause","href":"/api-reference/campaigns/pause"},{"title":"Cancel Campaign","openapi":"POST /campaigns/{id}/cancel","href":"/api-reference/campaigns/cancel"},{"title":"Export Campaign Results","openapi":"GET /campaigns/{id}/export","href":"/api-reference/campaigns/export"}]},{"group":"Alerts","pages":[{"title":"List Alert Rules","openapi":"GET /alert-rules","href":"/api-reference/alerts/list"},{"title":"Create Alert Rule","openapi":"POST /alert-rules","href":"/api-reference/alerts/create"},{"title":"Get Alert Rule","openapi":"GET /alert-rules/{id}","href":"/api-reference/alerts/get"},{"title":"Update Alert Rule","openapi":"PATCH /alert-rules/{id}","href":"/api-reference/alerts/update"},{"title":"Delete Alert Rule","openapi":"DELETE /alert-rules/{id}","href":"/api-reference/alerts/delete"},{"title":"List Alert Events","openapi":"GET /alert-rules/{id}/events","href":"/api-reference/alerts/events"},{"title":"Get Alert Value","openapi":"GET /alert-rules/{id}/value","href":"/api-reference/alerts/value"},{"title":"Send Test Alert","openapi":"POST /alert-rules/{id}/test","href":"/api-reference/alerts/test"}]},{"group":"Do Not Call","pages":[{"title":"List Do-Not-Call Numbers","openapi":"GET /do-not-call","href":"/api-reference/do-not-call/list"},{"title":"Add Do-Not-Call Numbers","openapi":"POST /do-not-call","href":"/api-reference/do-not-call/add"},{"title":"Remove Do-Not-Call Number","openapi":"DELETE /do-not-call/{e164}","href":"/api-reference/do-not-call/remove"}]},{"group":"Contacts","pages":[{"title":"List Contact Memories","openapi":"GET /contacts/memories","href":"/api-reference/contacts/list-memories"},{"title":"Get Contact Memory","openapi":"GET /contacts/{phoneNumber}/memory","href":"/api-reference/contacts/get-memory"},{"title":"Set Contact Memory","openapi":"PUT /contacts/{phoneNumber}/memory","href":"/api-reference/contacts/set-memory"},{"title":"Delete Contact Memory","openapi":"DELETE /contacts/{phoneNumber}/memory","href":"/api-reference/contacts/delete-memory"}]},{"group":"Integrations","pages":[{"title":"List Integrations","openapi":"GET /integrations","href":"/api-reference/integrations/list"},{"title":"Connect Integration","openapi":"POST /integrations","href":"/api-reference/integrations/connect"},{"title":"List Calendars","openapi":"GET /integrations/{id}/calendars","href":"/api-reference/integrations/calendars"},{"title":"Test Integration","openapi":"POST /integrations/{id}/test","href":"/api-reference/integrations/test"},{"title":"Update Integration","openapi":"PATCH /integrations/{id}","href":"/api-reference/integrations/update"},{"title":"Disconnect Integration","openapi":"DELETE /integrations/{id}","href":"/api-reference/integrations/delete"}]},{"group":"Knowledge Bases","pages":[{"title":"List Knowledge Bases","openapi":"GET /knowledge-bases","href":"/api-reference/knowledge-bases/list"},{"title":"Get Knowledge Base","openapi":"GET /knowledge-bases/{id}","href":"/api-reference/knowledge-bases/get"},{"title":"Create Knowledge Base","openapi":"POST /knowledge-bases","href":"/api-reference/knowledge-bases/create"},{"title":"Update Knowledge Base","openapi":"PATCH /knowledge-bases/{id}","href":"/api-reference/knowledge-bases/update"},{"title":"Delete Knowledge Base","openapi":"DELETE /knowledge-bases/{id}","href":"/api-reference/knowledge-bases/delete"}]},{"group":"Knowledge Base Sources","pages":[{"title":"Add Source","openapi":"POST /knowledge-bases/{id}/sources","href":"/api-reference/knowledge-bases/add-source"},{"title":"Get Source","openapi":"GET /knowledge-bases/{id}/sources/{sourceId}","href":"/api-reference/knowledge-bases/get-source"},{"title":"Refresh Source","openapi":"POST /knowledge-bases/{id}/sources/{sourceId}/refresh","href":"/api-reference/knowledge-bases/refresh-source"},{"title":"Delete Source","openapi":"DELETE /knowledge-bases/{id}/sources/{sourceId}","href":"/api-reference/knowledge-bases/delete-source"}]},{"group":"Voices","pages":[{"title":"List Voices","openapi":"GET /voices","href":"/api-reference/voices/list"},{"title":"Get Voice","openapi":"GET /voices/{id}","href":"/api-reference/voices/get"},{"title":"Preview Voice","openapi":"GET /voices/{id}/preview","href":"/api-reference/voices/preview"},{"title":"Create Voice","openapi":"POST /voices","href":"/api-reference/voices/create"},{"title":"Design Voices","openapi":"POST /voices/design","href":"/api-reference/voices/design"},{"title":"Search Studio Library","openapi":"GET /voices/studio/library","href":"/api-reference/voices/studio-library"},{"title":"Preview Studio Voice","openapi":"GET /voices/studio/library/{voiceId}/preview","href":"/api-reference/voices/studio-preview"},{"title":"Add Studio Voice","openapi":"POST /voices/studio","href":"/api-reference/voices/studio-add"},{"title":"Rename Voice","openapi":"PATCH /voices/{id}","href":"/api-reference/voices/rename"},{"title":"Delete Voice","openapi":"DELETE /voices/{id}","href":"/api-reference/voices/delete"}]},{"group":"Activity","pages":[{"title":"List Activity","openapi":"GET /activity","href":"/api-reference/activity/list"}]},{"group":"Analytics","pages":[{"title":"Get Analytics Overview","openapi":"GET /analytics/overview","href":"/api-reference/analytics/overview"},{"title":"Get Active Calls Count","openapi":"GET /analytics/active","href":"/api-reference/analytics/active"},{"title":"Compare Versions","openapi":"GET /analytics/versions","href":"/api-reference/analytics/versions"},{"title":"Get Agent Reply Times","openapi":"GET /analytics/reply-times","href":"/api-reference/analytics/reply-times"},{"title":"Get Agent Activity","openapi":"GET /analytics/agents","href":"/api-reference/analytics/agent-activity"}]},{"group":"Test Suites","pages":[{"title":"List Test Suites","openapi":"GET /test-suites","href":"/api-reference/test-suites/list"},{"title":"Get Test Suite","openapi":"GET /test-suites/{id}","href":"/api-reference/test-suites/get"},{"title":"Create Test Suite","openapi":"POST /test-suites","href":"/api-reference/test-suites/create"},{"title":"Update Test Suite","openapi":"PATCH /test-suites/{id}","href":"/api-reference/test-suites/update"},{"title":"Delete Test Suite","openapi":"DELETE /test-suites/{id}","href":"/api-reference/test-suites/delete"},{"title":"Create Test From Call","openapi":"POST /test-suites/{id}/tests/from-call","href":"/api-reference/test-suites/create-test-from-call"},{"title":"Create Suite From Failing Calls","openapi":"POST /test-suites/from-failing-calls","href":"/api-reference/test-suites/from-failing-calls"}]},{"group":"Test Cases","pages":[{"title":"List Test Cases","openapi":"GET /test-suites/{id}/tests","href":"/api-reference/test-suites/list-tests"},{"title":"Get Test Case","openapi":"GET /test-suites/{id}/tests/{testId}","href":"/api-reference/test-suites/get-test"},{"title":"Create Test Case","openapi":"POST /test-suites/{id}/tests","href":"/api-reference/test-suites/create-test"},{"title":"Update Test Case","openapi":"PATCH /test-suites/{id}/tests/{testId}","href":"/api-reference/test-suites/update-test"},{"title":"Delete Test Case","openapi":"DELETE /test-suites/{id}/tests/{testId}","href":"/api-reference/test-suites/delete-test"},{"title":"Generate Test Cases","openapi":"POST /test-suites/{id}/generate-tests","href":"/api-reference/test-suites/generate-tests"}]},{"group":"Test Runs","pages":[{"title":"List Test Runs","openapi":"GET /test-suites/{id}/runs","href":"/api-reference/test-suites/list-runs"},{"title":"Get Test Run","openapi":"GET /test-suites/{id}/runs/{runId}","href":"/api-reference/test-suites/get-run"},{"title":"Start Test Run","openapi":"POST /test-suites/{id}/runs","href":"/api-reference/test-suites/start-run"},{"title":"Cancel Test Run","openapi":"POST /test-suites/{id}/runs/{runId}/cancel","href":"/api-reference/test-suites/cancel-run"},{"title":"Suggest a Fix","openapi":"POST /test-suites/{id}/attempts/{attemptId}/suggest-fix","href":"/api-reference/test-suites/suggest-fix"},{"title":"Get Suggested Fix","openapi":"GET /test-suites/{id}/attempts/{attemptId}/suggest-fix","href":"/api-reference/test-suites/get-suggested-fix"},{"title":"Suggest a Fix for a Run","openapi":"POST /test-suites/{id}/runs/{runId}/suggest-fix","description":"Ask for one prompt change that would make every failed test in a run pass.\n\nRequesting a fix per attempt produces separate prompts that do not know about each other, and applying one can undo another. This endpoint analyzes all of the run's failed attempts together and returns a single corrected prompt with a per-attempt breakdown, so failures that share a root cause get one coherent edit.\n\nThe wait, polling, and reuse behavior is identical to the per-attempt Suggest a Fix: the request waits up to 105 seconds, `wait=0` returns `status: running` immediately for polling with Get Suggested Fix for a Run, asking again joins a preparation already in progress, and a suggestion prepared within the last 10 minutes is returned instantly.\n\nThe run must be finished and must contain at least one failed attempt. On runs with more than 12 failures, the most recent 12 are analyzed and the rest are listed in `result.skippedAttemptIds`.","href":"/api-reference/test-suites/suggest-run-fix"},{"title":"Get Suggested Fix for a Run","openapi":"GET /test-suites/{id}/runs/{runId}/suggest-fix","href":"/api-reference/test-suites/get-run-suggested-fix"}]},{"group":"Messaging Connections","pages":[{"title":"List Messaging Connections","openapi":"GET /messaging-connections","description":"Retrieve all messaging provider connections for your organization. Secrets (such as the provider Auth Token) are never returned.","href":"/api-reference/messaging-connections/list"},{"title":"Get Messaging Connection","openapi":"GET /messaging-connections/{id}","href":"/api-reference/messaging-connections/get"},{"title":"Create Messaging Connection","openapi":"POST /messaging-connections","href":"/api-reference/messaging-connections/create"},{"title":"Update Messaging Connection","openapi":"PATCH /messaging-connections/{id}","href":"/api-reference/messaging-connections/update"},{"title":"Delete Messaging Connection","openapi":"DELETE /messaging-connections/{id}","href":"/api-reference/messaging-connections/delete"}]},{"group":"Messages","pages":[{"title":"Send Message","openapi":"POST /messages","href":"/api-reference/messages/send"},{"title":"List Messages","openapi":"GET /messages","href":"/api-reference/messages/list"},{"title":"Get Message","openapi":"GET /messages/{id}","href":"/api-reference/messages/get"}]},{"group":"Conversations","pages":[{"title":"List Conversations","openapi":"GET /conversations","href":"/api-reference/conversations/list"},{"title":"Delete Conversation","openapi":"DELETE /conversations/{id}","href":"/api-reference/conversations/delete"}]},{"group":"Webhooks","pages":[{"title":"Pre-Call Webhook","openapi":"webhook pre-call","href":"/api-reference/webhooks/pre-call"},{"title":"Post-Call Webhook","openapi":"webhook post-call","href":"/api-reference/webhooks/post-call"},{"title":"Webhook Signing Secret","openapi":"POST /webhooks/signing-secret","href":"/api-reference/webhooks/signing-secret"},{"title":"Get Webhook Signing State","openapi":"GET /webhooks/signing-secret","href":"/api-reference/webhooks/signing-state"},{"title":"Disable Webhook Signing","openapi":"DELETE /webhooks/signing-secret","href":"/api-reference/webhooks/signing-disable"},{"title":"Inbound Message Webhook","openapi":"webhook message-received","href":"/api-reference/webhooks/message-received"}]}]}]},"basePath":"","title":"Get Suggested Fix for a Run - RevRing AI Documentation","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C-hEh3I2.js","utils-CnF4QiUD.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C7PVNbel.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-8ytevL2A.js","snippetPresets-BT1alx3v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BLXC0i_W.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CyLIGI9_.js","shallow-DC0lGVIW.js","getApiPlaygroundDisplay-CgDQ85tN.js","CodeSnippet-6-I-Gpv9.js","CodeSnippets-BAk1kDdu.js","Page-C945cI-W.js","getPastedJson-B276RuWN.js","icon-BqP8etTm.js","MethodPill-DM6sbxG1.js","DuplicateIcon-PyJglOaE.js","createIcon-CMeOMAc_.js","DynamicMarkdown-BoyYAA8K.js","SectionHeading-DAYv3gvZ.js","axios-vUo_bRtp.js","Markdown-BhTTmazV.js","clsx-CR-RHrVC.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CBUH0-zX.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BmARFYNC.js"]}