curl --request PATCH \ --url https://api.sigmamind.ai/v1/qa-rules/{qaRuleId} \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <api-key>' \ --data '{ "ruleName": "Tone & Professionalism Check", "ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.", "evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.", "expectedValue": true, "agentIds": [ "agent_D5D0p7TUs66TTAEAx" ]}'
import requests
url = "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
payload = {
"ruleName": "Tone & Professionalism Check",
"ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.",
"evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.",
"expectedValue": True,
"agentIds": ["agent_D5D0p7TUs66TTAEAx"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ruleName: 'Tone & Professionalism Check',
ruleDescription: 'Ensures agents maintain a professional and empathetic tone throughout the conversation.',
evaluationCriteria: 'Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.',
expectedValue: true,
agentIds: ['agent_D5D0p7TUs66TTAEAx']
})
};
fetch('https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'ruleName' => 'Tone & Professionalism Check',
'ruleDescription' => 'Ensures agents maintain a professional and empathetic tone throughout the conversation.',
'evaluationCriteria' => 'Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.',
'expectedValue' => true,
'agentIds' => [
'agent_D5D0p7TUs66TTAEAx'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
payload := strings.NewReader("{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.patch("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}"
response = http.request(request)
puts response.read_body
{ "qaRuleId": "rule_YYdKgw1masomMfe8", "workspaceId": "org_V6eZ2zg8ziDx5pft", "ruleName": "Tone & Professionalism Check", "ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.", "agents": [ { "name": "New AI Agent", "agentId": "agent_D5D0p7TUs66TTAEAx", "status": "Live" } ], "evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.", "expectedValue": true}
{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/qa-rules",
"status": 401,
"timestamp": "2026-05-06T07:47:11.486Z"
}
{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/qa-rules",
"status": 403,
"timestamp": "2026-05-06T07:47:11.486Z"
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/qa-rules",
"status": 404,
"timestamp": "2026-05-06T07:47:11.486Z"
}
{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/qa-rules",
"status": 500,
"timestamp": "2026-05-06T07:47:11.486Z"
}
QA Rules
Update QA Rule
Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.
PATCH
/
v1
/
qa-rules
/
{qaRuleId}
Update QA Rule
curl --request PATCH \ --url https://api.sigmamind.ai/v1/qa-rules/{qaRuleId} \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <api-key>' \ --data '{ "ruleName": "Tone & Professionalism Check", "ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.", "evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.", "expectedValue": true, "agentIds": [ "agent_D5D0p7TUs66TTAEAx" ]}'
import requests
url = "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
payload = {
"ruleName": "Tone & Professionalism Check",
"ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.",
"evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.",
"expectedValue": True,
"agentIds": ["agent_D5D0p7TUs66TTAEAx"]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ruleName: 'Tone & Professionalism Check',
ruleDescription: 'Ensures agents maintain a professional and empathetic tone throughout the conversation.',
evaluationCriteria: 'Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.',
expectedValue: true,
agentIds: ['agent_D5D0p7TUs66TTAEAx']
})
};
fetch('https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'ruleName' => 'Tone & Professionalism Check',
'ruleDescription' => 'Ensures agents maintain a professional and empathetic tone throughout the conversation.',
'evaluationCriteria' => 'Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.',
'expectedValue' => true,
'agentIds' => [
'agent_D5D0p7TUs66TTAEAx'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
payload := strings.NewReader("{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
HttpResponse<String> response = Unirest.patch("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ruleName\": \"Tone & Professionalism Check\",\n \"ruleDescription\": \"Ensures agents maintain a professional and empathetic tone throughout the conversation.\",\n \"evaluationCriteria\": \"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.\",\n \"expectedValue\": true,\n \"agentIds\": [\n \"agent_D5D0p7TUs66TTAEAx\"\n ]\n}"
response = http.request(request)
puts response.read_body
{ "qaRuleId": "rule_YYdKgw1masomMfe8", "workspaceId": "org_V6eZ2zg8ziDx5pft", "ruleName": "Tone & Professionalism Check", "ruleDescription": "Ensures agents maintain a professional and empathetic tone throughout the conversation.", "agents": [ { "name": "New AI Agent", "agentId": "agent_D5D0p7TUs66TTAEAx", "status": "Live" } ], "evaluationCriteria": "Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.", "expectedValue": true}
Authenticate every request by passing your API key in the X-API-Key header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.
The expected outcome of the evaluation criteria that determines a successful QA result. Set to true if the evaluation criteria returning true should be treated as a Success, or false if the evaluation criteria returning true should be treated as a Fail.
The expected evaluation result that determines whether the QA rule is satisfied. When the evaluation criteria returns a result matching this expected value, the interaction is marked as a Success; otherwise it is marked as a Fail.
Example:
true
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SigmaMind AI","description":"Developer docs for SigmaMind AI. Build, test, and deploy AI agents that handle voice, chat, and email conversations for your contact center.","colors":{"primary":"#0F172A","light":"#F8FAFC","dark":"#1E293B"},"logo":{"light":"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/light.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=bc51a1190d0d56521defbdc28b2a0798","dark":"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/dark.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=37e6d9d7f667ee3761cc76b9ed758f6a","href":"https://www.sigmamind.ai"},"favicon":"https://mintcdn.com/sigmamindai/x8_xeWMetIJrwgEQ/favicon.svg?fit=max\u0026auto=format\u0026n=x8_xeWMetIJrwgEQ\u0026q=85\u0026s=dce3fc7f05848ac97179954ea0aac7a7","navbar":{"links":[{"href":"mailto:help@sigmamind.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.sigmamind.ai/auth/login"}},"footer":{"socials":{"x":"https://x.com/sigmamind_ai","linkedin":"https://www.linkedin.com/company/sigmamind-ai","website":"https://www.sigmamind.ai","youtube":"https://www.youtube.com/@SigmaMindAI"}},"seo":{"indexing":"all"},"integrations":{"ga4":{"measurementId":"G-FS7QYGTFP5"},"gtm":{"tagId":"GTM-NN56PC2H"}},"errors":{"404":{"redirect":true}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"variables":{"BASE_URL":"https://api.sigmamind.ai"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://docs.sigmamind.ai"},{"anchor":"Discord Community","icon":"discord","href":"https://www.discord.com/invite/jSWGcw5Wyx"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sigmamindai","hasAudioNarration":false,"actualSubdomain":"sigmamindai","customDomains":["docs.sigmamind.ai"],"gitSource":{"type":"github","owner":"sigmamind-ai","repo":"docs","deployBranch":"dev-master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad0bd308db8cca04419eaa4","collectionId":"f79efd5c-2c72-462d-a1c0-9572c019f6bd","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad0bd308db8cca04419eaa4"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad0bd308db8cca04419eaa4","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Documentation","count":94},{"language":"default","tag":"API Reference","count":77},{"language":"default","tag":"Build","count":37},{"language":"default","tag":"Deploy","count":14},{"language":"default","tag":"How to build conversational flow agents","count":12},{"language":"default","tag":"Tool Integrations","count":11},{"language":"default","tag":"How to build single prompt agents","count":8},{"language":"default","tag":"Add Basic Nodes","count":7},{"language":"default","tag":"How to Add tool","count":6},{"language":"default","tag":"CCAAS Integrations","count":6}]},"assistantConfig":{"enableStarterQuestions":true,"deflection":{"enabled":true,"email":"support@sigmamind.ai","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"starterQuestions":[{"_id":"695fb83bba37df35a996e0a8","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How do I connect my app with a voice AI agent?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:59:23.075Z","updatedAt":"2026-01-08T13:59:23.075Z","__v":0},{"_id":"695fb809ba37df35a996deb4","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How can I add a voice agent to my app or website?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:58:33.153Z","updatedAt":"2026-01-08T13:58:33.153Z","__v":0},{"_id":"695fb7adba37df35a996da58","deploymentId":"682c3c0be2b0b5676d6f71d1","questionText":"How do I set up a voice AI agent?","status":"active","generatedBy":"manual","createdAt":"2026-01-08T13:57:01.201Z","updatedAt":"2026-01-08T13:57:01.201Z","__v":0}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/qa-rules/update-qa-rule","slug":"/api-reference/qa-rules/update-qa-rule","pageMetadata":{"openapi":"patch /v1/qa-rules/{qaRuleId}","title":"Update QA Rule","description":"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.","href":"/api-reference/qa-rules/update-qa-rule"},"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: \"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\"\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/qa-rules/{qaRuleId}","title":"Update QA Rule","description":"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.","href":"/api-reference/qa-rules/update-qa-rule"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["QA Rules"],"summary":"Update QA Rule","description":"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.","operationId":"patchUpdateQARule","parameters":["b16dfb8b-8177-40ab-bdbb-e5a2eab68af6"],"requestBody":"c1600f67-fb93-412f-a48a-abed6e4d3af7","responses":{"200":"ba679c6a-02b0-4158-a5a8-720dffcfe935","400":"d504cd05-d37e-4dab-8263-5fe7e672b8b4","401":"4c27f0d4-2ecb-4fa0-99ca-47436c01ae49","403":"aae6b151-67f6-4c43-b1f7-54c8168e9ef4","404":"3a339961-3917-43b5-a99d-bd2ebc770e9d","500":"9e5c89e9-b5bb-4034-9796-f713f6f2c230"},"method":"patch","type":"path","servers":["75f7b222-03cc-4d0b-ad9a-f874f3025873"],"security":["9493c0cd-b560-4dc9-b9d1-6f65df68321e"],"path":"/v1/qa-rules/{qaRuleId}","baseUrlOptions":["https://api.sigmamind.ai"],"title":"Update QA Rule","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b16dfb8b-8177-40ab-bdbb-e5a2eab68af6":{"name":"qaRuleId","in":"path","description":"The unique identifier of the QA rule to update.","required":true,"schema":{"type":"string","isRequired":true,"description":"The unique identifier of the QA rule to update.","uniqueKey":"","typeLabel":"string"},"example":"rule_YYdKgw1masomMfe8"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"ruleName":{"type":"string","description":"The name of the QA rule, used to identify it in rule lists and evaluation reports.","example":"Tone \u0026 Professionalism Check","uniqueKey":"ruleName","typeLabel":"string"},"ruleDescription":{"type":"string","description":"A brief explanation of what this QA rule evaluates and its intended purpose.","example":"Ensures agents maintain a professional and empathetic tone throughout the conversation.","uniqueKey":"ruleDescription","typeLabel":"string"},"evaluationCriteria":{"type":"string","description":"The specific criteria used to evaluate agent responses against this rule.","example":"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.","uniqueKey":"evaluationCriteria","typeLabel":"string"},"expectedValue":{"type":"boolean","description":"The expected outcome of the evaluation criteria that determines a successful QA result. Set to true if the evaluation criteria returning true should be treated as a Success, or false if the evaluation criteria returning true should be treated as a Fail.","example":true,"enum":[true,false],"uniqueKey":"expectedValue","typeLabel":"enum\u003cboolean>"},"agentIds":{"type":"array","description":"List of agent Ids on which QA rule would apply","example":["agent_D5D0p7TUs66TTAEAx"],"items":{"type":"string","example":"[\"agent_D5D0p7TUs66TTAEAx\"]","uniqueKey":"agentIds.items.[INDEX]","typeLabel":"string"},"uniqueKey":"agentIds","typeLabel":"string[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"ruleName":"Tone \u0026 Professionalism Check","ruleDescription":"Ensures agents maintain a professional and empathetic tone throughout the conversation.","evaluationCriteria":"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.","expectedValue":true,"agentIds":["agent_D5D0p7TUs66TTAEAx"]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"ba679c6a-02b0-4158-a5a8-720dffcfe935":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"qaRuleId":{"type":"string","description":"The unique identifier of the QA rule.","example":"rule_YYdKgw1masomMfe8","uniqueKey":"qaRuleId","typeLabel":"string"},"workspaceId":{"type":"string","description":"The unique identifier of the workspace this QA rule belongs to.","example":"org_V6eZ2zg8ziDx5pft","uniqueKey":"workspaceId","typeLabel":"string"},"ruleName":{"type":"string","description":"The name of the QA rule, used to identify it in rule lists and evaluation reports.","example":"Tone \u0026 Professionalism Check","uniqueKey":"ruleName","typeLabel":"string"},"ruleDescription":{"type":"string","description":"A brief explanation of what this QA rule evaluates and its intended purpose.","example":"Ensures agents maintain a professional and empathetic tone throughout the conversation.","uniqueKey":"ruleDescription","typeLabel":"string"},"agents":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"The display name of the assigned agent.","example":"New AI Agent","uniqueKey":"agents.items.[INDEX].name","typeLabel":"string"},"agentId":{"type":"string","description":"The unique identifier of the agent within the system.","example":"agent_D5D0p7TUs66TTAEAx","uniqueKey":"agents.items.[INDEX].agentId","typeLabel":"string"},"status":{"type":"string","description":"The current operational status of the agent.","example":"Live","enum":["Live","Testing","Disabled"],"uniqueKey":"agents.items.[INDEX].status","typeLabel":"enum\u003cstring>"}},"description":"Agent assigned to handle all calls in this campaign. Contains the agent's ID, name, and current status. All contacts in the campaign's contact list will be called using this agent.","uniqueKey":"agents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"agents","typeLabel":"object[]"},"evaluationCriteria":{"type":"string","description":"The specific criteria or rubric used to evaluate agent responses against this rule.","example":"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.","uniqueKey":"evaluationCriteria","typeLabel":"string"},"expectedValue":{"type":"boolean","description":"The expected evaluation result that determines whether the QA rule is satisfied. When the evaluation criteria returns a result matching this expected value, the interaction is marked as a Success; otherwise it is marked as a Fail.","example":true,"uniqueKey":"expectedValue","typeLabel":"boolean"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"qaRuleId":"rule_YYdKgw1masomMfe8","workspaceId":"org_V6eZ2zg8ziDx5pft","ruleName":"Tone \u0026 Professionalism Check","ruleDescription":"Ensures agents maintain a professional and empathetic tone throughout the conversation.","agents":[{"name":"New AI Agent","agentId":"agent_D5D0p7TUs66TTAEAx","status":"Live"}],"evaluationCriteria":"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary.","expectedValue":true}}},"exampleType":"generated"}},"exampleType":"generated"},"d504cd05-d37e-4dab-8263-5fe7e672b8b4":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Bad Request","message":"Invalid request parameters","path":"/v1/qa-rules","status":400,"timestamp":"2026-05-06T07:47:11.486Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"4c27f0d4-2ecb-4fa0-99ca-47436c01ae49":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Unauthorized","message":"X-API-Key is missing or invalid","path":"/v1/qa-rules","status":401,"timestamp":"2026-05-06T07:47:11.486Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"aae6b151-67f6-4c43-b1f7-54c8168e9ef4":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Forbidden","message":"Access denied for this resource","path":"/v1/qa-rules","status":403,"timestamp":"2026-05-06T07:47:11.486Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"3a339961-3917-43b5-a99d-bd2ebc770e9d":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Not Found","message":"The requested resource was not found","path":"/v1/qa-rules","status":404,"timestamp":"2026-05-06T07:47:11.486Z"}}},"exampleType":"examples"}},"exampleType":"examples"},"9e5c89e9-b5bb-4034-9796-f713f6f2c230":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"timestamp":{"type":"string","description":"Error timestamp in ISO format","format":"date-time","uniqueKey":"timestamp","typeLabel":"string\u003cdate-time>"},"status":{"type":"integer","description":"HTTP status code","example":400,"uniqueKey":"status","typeLabel":"integer"},"error":{"type":"string","description":"Error type or HTTP status message","example":"Bad Request","uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Detailed error message","example":"Email is required","uniqueKey":"message","typeLabel":"string"},"path":{"type":"string","description":"Request path where error occurred","example":"/v1/users","uniqueKey":"path","typeLabel":"string"},"validationErrors":{"type":"object","description":"Field validation errors (if any)","example":"{\n \"email\": \"Email is required\",\n \"name\": \"Name is too short\"\n}","uniqueKey":"validationErrors","typeLabel":"object"}},"description":"Standard error response","uniqueKey":"","typeLabel":"object"},"examples":{"default":{"title":"default","value":{"error":"Internal Server Error","message":"Unexpected server error","path":"/v1/qa-rules","status":500,"timestamp":"2026-05-06T07:47:11.486Z"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"9493c0cd-b560-4dc9-b9d1-6f65df68321e":{"apiKeyAuth":{"type":"apiKey","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","name":"X-API-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"}}},"servers":{"75f7b222-03cc-4d0b-ad9a-f874f3025873":{"url":"https://api.sigmamind.ai","description":"SigmaMind AI Agent Builder APIs"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","name":"X-API-Key","in":"header","scopes":[],"schemeName":"apiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"Authenticate every request by passing your API key in the `X-API-Key` header. To get your key, go to Dashboard → API Keys and create or copy your Production API key.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKeyAuth","name":"X-API-Key"}],"title":"apiKeyAuth"}]},"originalFileLocation":"api-docs.yaml"},"subdomain":"sigmamindai","siteName":"SigmaMind AI","title":"Update QA Rule - SigmaMind AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-07T15:48:33.851Z","originalFileLocation":"api-reference/qa-rules/update-qa-rule.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=\"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SigmaMind AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_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/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update QA Rule - SigmaMind AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SigmaMind AI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sigmamindai.mintlify.app/_mintlify/api/og/v2?division=QA+Rules\u0026amp;title=Update+QA+Rule\u0026amp;description=Partially+updates+an+existing+QA+rule+by+qaRuleId.+Only+fields+provided+in+the+request+body+are+updated+%E2%80%94+omitted+fields+remain+unchanged.+Returns+the+updated+Q\u0026amp;theme=1cb0dee83b8b2161fa75211c\u0026amp;signature=f1fab13fc704683932e32d911723e2dccb8026751e452469427f0727923f8718\">\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 QA Rule - SigmaMind AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sigmamindai.mintlify.app/_mintlify/api/og/v2?division=QA+Rules\u0026amp;title=Update+QA+Rule\u0026amp;description=Partially+updates+an+existing+QA+rule+by+qaRuleId.+Only+fields+provided+in+the+request+body+are+updated+%E2%80%94+omitted+fields+remain+unchanged.+Returns+the+updated+Q\u0026amp;theme=1cb0dee83b8b2161fa75211c\u0026amp;signature=f1fab13fc704683932e32d911723e2dccb8026751e452469427f0727923f8718\">\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/sigmamindai/QkCWUi6da-GSENjq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SigmaMind AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F172A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/qa-rules/update-qa-rule.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sigmamind.ai/#organization\",\"name\":\"SigmaMind AI\",\"url\":\"https://docs.sigmamind.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sigmamindai/vxjJeTe45csRRZLq/logo/light.svg?fit=max\u0026auto=format\u0026n=vxjJeTe45csRRZLq\u0026q=85\u0026s=bc51a1190d0d56521defbdc28b2a0798\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sigmamind.ai#website\",\"name\":\"SigmaMind AI\",\"url\":\"https://docs.sigmamind.ai\",\"publisher\":{\"@id\":\"https://docs.sigmamind.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule#webpage\",\"url\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule\",\"name\":\"Update QA Rule\",\"description\":\"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\",\"dateModified\":\"2026-05-07T15:48:33.851Z\",\"isPartOf\":{\"@id\":\"https://docs.sigmamind.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"QA Rules\",\"item\":\"https://docs.sigmamind.ai/api-reference/qa-rules/create-qa-rule\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update QA Rule\",\"item\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule#apireference\",\"headline\":\"Update QA Rule\",\"name\":\"Update QA Rule\",\"description\":\"Partially updates an existing QA rule by qaRuleId. Only fields provided in the request body are updated — omitted fields remain unchanged. Returns the updated QA rule record.\",\"url\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sigmamind.ai/api-reference/qa-rules/update-qa-rule#webpage\"},\"dateModified\":\"2026-05-07T15:48:33.851Z\",\"publisher\":{\"@id\":\"https://docs.sigmamind.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sigmamind.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SigmaMind AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SigmaMind AI","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://docs.sigmamind.ai"},{"anchor":"Discord Community","icon":"discord","href":"https://www.discord.com/invite/jSWGcw5Wyx"}]},"tabs":[{"tab":"Documentation","icon":"book","pages":[{"title":"Documentation","href":"/documentation/getting-started/introduction"}]},{"tab":"API Reference","icon":"code","groups":[{"group":"Calls","pages":[{"openapi":"post /v1/calls","title":"Create Phone Call","href":"/api-reference/calls/create-phone-call"},{"openapi":"get /v1/calls/{callId}","title":"Get Phone Call","href":"/api-reference/calls/get-phone-call"},{"openapi":"get /v1/calls","title":"List Phone Calls","href":"/api-reference/calls/list-phone-calls"},{"openapi":"delete /v1/calls/{callId}","title":"Delete Phone Call","href":"/api-reference/calls/delete-phone-call"}]},{"group":"Chats","pages":[{"openapi":"post /v1/chats","title":"Create Chat","href":"/api-reference/chats/create-a-chat"},{"openapi":"post /v1/chats/response","title":"Chat Completion","href":"/api-reference/chats/chat-completion"},{"openapi":"get /v1/chats/{chatId}","title":"Get Chat","href":"/api-reference/chats/get-chat"},{"openapi":"get /v1/chats","title":"List Chats","href":"/api-reference/chats/list-chats"},{"openapi":"patch /v1/chats/{chatId}","title":"Update Chat","href":"/api-reference/chats/update-chat"},{"openapi":"patch /v1/chats/{chatId}/end-session","title":"End Chat","href":"/api-reference/chats/end-chat"}]},{"group":"Phone Numbers","pages":[{"openapi":"post /v1/phone-numbers","title":"Create Phone Number","href":"/api-reference/phone-numbers/create-phone-number"},{"openapi":"post /v1/phone-numbers/import","title":"Import Phone Number","href":"/api-reference/phone-numbers/import-phone-number"},{"openapi":"get /v1/phone-numbers/{phoneNumber}","title":"Get Phone Number","href":"/api-reference/phone-numbers/get-phone-number"},{"openapi":"get /v1/phone-numbers","title":"List Phone Numbers","href":"/api-reference/phone-numbers/list-phone-numbers"},{"openapi":"patch /v1/phone-numbers/{phoneNumber}","title":"Update Phone Number","href":"/api-reference/phone-numbers/update-phone-number"},{"openapi":"delete /v1/phone-numbers/{phoneNumber}","title":"Delete Phone Number","href":"/api-reference/phone-numbers/delete-phone-number"}]},{"group":"Single Prompt Agents","pages":[{"openapi":"post /v1/agents","title":"Create Agent","href":"/api-reference/single-prompt-agents/create-agent"},{"openapi":"get /v1/agents/{agentId}","title":"Get Agent","href":"/api-reference/single-prompt-agents/get-agent"},{"openapi":"get /v1/agents","title":"List Agents","href":"/api-reference/single-prompt-agents/list-single-prompt-agents"},{"openapi":"patch /v1/agents/{agentId}","title":"Update Agent","href":"/api-reference/single-prompt-agents/update-agent"},{"openapi":"delete /v1/agents/{agentId}","title":"Delete Agent","href":"/api-reference/single-prompt-agents/delete-agent"}]},{"group":"Conversational Agents","pages":[{"openapi":"post /v1/conversational-agents","title":"Create conversational Agent","href":"/api-reference/conversational-agents/create-conversational-agent"},{"openapi":"get /v1/conversational-agents/{agentId}","title":"Get conversational Agent","href":"/api-reference/conversational-agents/get-conversational-agent"},{"openapi":"patch /v1/conversational-agents/{agentId}","title":"Update conversational Agent","href":"/api-reference/conversational-agents/update-conversational-agent"}]},{"group":"Campaigns","pages":[{"openapi":"post /v1/campaigns","title":"Create Campaign","href":"/api-reference/campaigns/create-campaign"},{"openapi":"get /v1/campaigns/{campaignId}","title":"Get Campaign","href":"/api-reference/campaigns/get-campaign"},{"openapi":"get /v1/campaigns","title":"List Campaigns","href":"/api-reference/campaigns/list-campaigns"},{"openapi":"patch /v1/campaigns/{campaignId}","title":"Update Campaign","href":"/api-reference/campaigns/update-campaign"},{"openapi":"delete /v1/campaigns/{campaignId}","title":"Delete Campaign","href":"/api-reference/campaigns/delete-campaign"}]},{"group":"Integrations","pages":[{"openapi":"post /v1/integrations","title":"Create Integration","href":"/api-reference/integrations/create-integration"},{"openapi":"get /v1/integrations/{integrationId}","title":"Get Integration","href":"/api-reference/integrations/get-integration"},{"openapi":"get /v1/integrations","title":"List Integrations","href":"/api-reference/integrations/list-integrations"},{"openapi":"patch /v1/integrations/{integrationId}","title":"Update Integration","href":"/api-reference/integrations/update-integration"},{"openapi":"delete /v1/integrations/{integrationId}","title":"Delete Integration","href":"/api-reference/integrations/delete-integration"}]},{"group":"Integration Auth","pages":[{"openapi":"post /v1/integrations/{integrationId}/auth","title":"Create Integration Auth","href":"/api-reference/integration-auth/create-integration-auth"},{"openapi":"get /v1/integrations/{integrationId}/auth/{authId}","title":"Get Integration Auth","href":"/api-reference/integration-auth/get-integration-auth"},{"openapi":"get /v1/integrations/{integrationId}/auth","title":"List Integration Auth","href":"/api-reference/integration-auth/list-integration-auth"},{"openapi":"patch /v1/integrations/{integrationId}/auth/{authId}","title":"Update Integration Auth","href":"/api-reference/integration-auth/update-integration-auth"},{"openapi":"delete /v1/integrations/{integrationId}/auth/{authId}","title":"Delete Integration Auth","href":"/api-reference/integration-auth/delete-integration-auth"}]},{"group":"Integration Tools","pages":[{"openapi":"post /v1/integrations/{integrationId}/tools","title":"Create Tool","href":"/api-reference/integration-tools/create-tool"},{"openapi":"post /v1/integrations/{integrationId}/tools/{toolId}/execute","title":"Execute Tool","href":"/api-reference/integration-tools/execute-tool"},{"openapi":"get /v1/integrations/{integrationId}/tools/{toolId}","title":"Get Tool","href":"/api-reference/integration-tools/get-tool"},{"openapi":"get /v1/integrations/{integrationId}/tools","title":"List Tools","href":"/api-reference/integration-tools/list-tools"},{"openapi":"patch /v1/integrations/{integrationId}/tools/{toolId}","title":"Update Tool","href":"/api-reference/integration-tools/update-tool"},{"openapi":"delete /v1/integrations/{integrationId}/tools/{toolId}","title":"Delete Tool","href":"/api-reference/integration-tools/delete-tool"}]},{"group":"Mock Tool Data","pages":[{"openapi":"post /v1/mock-tool-data","title":"Create Mock Tool Data","href":"/api-reference/mock-tool-data/create-mock-tool-data"},{"openapi":"get /v1/mock-tool-data/{mockToolDataId}","title":"Get Mock Tool Data","href":"/api-reference/mock-tool-data/get-mock-tool-data"},{"openapi":"get /v1/mock-tool-data","title":"List Mock Tool Data","href":"/api-reference/mock-tool-data/list-mock-tool-data"},{"openapi":"patch /v1/mock-tool-data/{mockToolDataId}","title":"Update Mock Tool Data","href":"/api-reference/mock-tool-data/update-mock-tool-data"},{"openapi":"delete /v1/mock-tool-data/{mockToolDataId}","title":"Delete Mock Tool Data","href":"/api-reference/mock-tool-data/delete-mock-tool-data"}]},{"group":"Test Cases","pages":[{"openapi":"post /v1/test-cases","title":"Create Test Case","href":"/api-reference/test-cases/create-test-case"},{"openapi":"get /v1/test-cases/{testCaseId}","title":"Get Test Case","href":"/api-reference/test-cases/get-test-case"},{"openapi":"get /v1/test-cases","title":"List Test Cases","href":"/api-reference/test-cases/list-test-cases"},{"openapi":"patch /v1/test-cases/{testCaseId}","title":"Update Test Case","href":"/api-reference/test-cases/update-test-case"},{"openapi":"delete /v1/test-cases/{testCaseId}","title":"Delete Test Case","href":"/api-reference/test-cases/delete-test-case"}]},{"group":"Batch","pages":[{"openapi":"post /v1/batch-runs","title":"Create Batch Run","href":"/api-reference/batch/create-batch-run"},{"openapi":"get /v1/batch-runs/{batchId}","title":"Get Batch Run","href":"/api-reference/batch/get-batch-run"},{"openapi":"get /v1/batch-runs","title":"List Batch Runs","href":"/api-reference/batch/list-batch-runs"}]},{"group":"Test Runs","pages":[{"openapi":"get /v1/test-runs/{jobId}","title":"Get Test Run","href":"/api-reference/test-runs/get-test-run"},{"openapi":"get /v1/test-runs","title":"List Test Runs","href":"/api-reference/test-runs/list-test-runs"}]},{"group":"Webhooks","pages":[{"openapi":"post /v1/webhooks","title":"Create Webhook","href":"/api-reference/webhooks/create-webhook"},{"openapi":"get /v1/webhooks/{webhookId}","title":"Get Webhook","href":"/api-reference/webhooks/get-webhook"},{"openapi":"get /v1/webhooks","title":"List Webhooks","href":"/api-reference/webhooks/list-webhooks"},{"openapi":"delete /v1/webhooks/{webhookId}","title":"Delete Webhook","href":"/api-reference/webhooks/delete-webhook"}]},{"group":"QA Rules","pages":[{"openapi":"post /v1/qa-rules","title":"Create QA Rule","href":"/api-reference/qa-rules/create-qa-rule"},{"openapi":"get /v1/qa-rules/{qaRuleId}","title":"Get QA Rule","href":"/api-reference/qa-rules/get-qa-rule"},{"openapi":"get /v1/qa-rules","title":"List QA Rules","description":"Returns a paginated list of all QA rules, sorted by most recently created first. Use page and size to navigate through results.","href":"/api-reference/qa-rules/list-qa-rules"},{"openapi":"patch /v1/qa-rules/{qaRuleId}","title":"Update QA Rule","href":"/api-reference/qa-rules/update-qa-rule"},{"openapi":"delete /v1/qa-rules/{qaRuleId}","title":"Delete QA Rule","description":"Permanently deletes a QA rule by qaRuleId. Cannot be undone — the rule will no longer be evaluated against future interactions. Returns 204 No Content on success.","href":"/api-reference/qa-rules/delete-qa-rule"}]},{"group":"QA Issues","pages":[{"openapi":"get /v1/qa-issues/{qaIssueId}","title":"Get QA Issue","href":"/api-reference/qa-issues/get-qa-issue"},{"openapi":"get /v1/qa-issues","title":"List QA Issues","href":"/api-reference/qa-issues/list-qa-issues"}]},{"group":"Knowledge bases","pages":[{"openapi":"post /v1/knowledge-bases","title":"Create knowledge base","href":"/api-reference/knowledge-bases/create-knowledge-base"},{"openapi":"get /v1/knowledge-bases/{kbId}","title":"Get knowledge base","href":"/api-reference/knowledge-bases/get-knowledge-base-by-kbid"},{"openapi":"get /v1/knowledge-bases","title":"List knowledge bases","href":"/api-reference/knowledge-bases/list-knowledge-bases"},{"openapi":"patch /v1/knowledge-bases/{kbId}","title":"Update knowledge base","href":"/api-reference/knowledge-bases/update-knowledge-base"},{"openapi":"delete /v1/knowledge-bases/{kbId}","title":"Delete knowledge base","href":"/api-reference/knowledge-bases/delete-knowledge-base"},{"openapi":"delete /v1/knowledge-bases/{kbId}/documents/{documentId}","title":"Delete document","href":"/api-reference/knowledge-bases/delete-one-document-from-a-knowledge-base"}]}]},{"tab":"MCP","icon":"code-branch","pages":[{"title":"MCP","href":"/mcp/server"}]},{"tab":"Tutorials","icon":"video","hidden":true,"pages":[{"title":"Tutorials","href":"/tutorials/agents/overview"}]}]},"basePath":"","title":"Update QA Rule - SigmaMind AI","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C8RPHPxo.js","utils-0BK-9q6z.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DfjzsUJT.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B4v9psJ4.js","snippetPresets-CpTQv-Ez.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-BNP-Fvr0.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BSgu6h1D.js","shallow-Biv1i9Gs.js","getApiPlaygroundDisplay-BoGOXhtF.js","CodeSnippet-DvQoT18_.js","CodeSnippets-Dnpa15xT.js","Page-Buji1S4J.js","getPastedJson-xAIyhUFE.js","icon-S6FBih11.js","MethodPill-SaYeUZyk.js","DuplicateIcon-Cs-p3v2Q.js","createIcon-DjCFEoHq.js","DynamicMarkdown-BcnBltEQ.js","SectionHeading-BUBl0eEF.js","axios-vUo_bRtp.js","Markdown-h4cOoD8d.js","clsx-B2v50t8t.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DJnKvr0g.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BHrrjR1K.js"]}