curl --request GET \
--url https://api.sigmamind.ai/v1/qa-rules/{qaRuleId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
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 => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
.header("X-API-Key", "<api-key>")
.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::Get.new(url)
request["X-API-Key"] = '<api-key>'
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": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/qa-rules",
"status": 400,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/qa-rules",
"status": 401,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/qa-rules",
"status": 403,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/qa-rules",
"status": 404,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/qa-rules",
"status": 500,
"timestamp": "2026-05-06T07:47:11.623Z"
}Get QA Rule
Retrieves the full details of a single QA rule by qaRuleId. Returns the rule configuration including its evaluation criteria, expected value, and agents it will be applied to.
curl --request GET \
--url https://api.sigmamind.ai/v1/qa-rules/{qaRuleId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
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 => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sigmamind.ai/v1/qa-rules/{qaRuleId}")
.header("X-API-Key", "<api-key>")
.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::Get.new(url)
request["X-API-Key"] = '<api-key>'
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": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/qa-rules",
"status": 400,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/qa-rules",
"status": 401,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/qa-rules",
"status": 403,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/qa-rules",
"status": 404,
"timestamp": "2026-05-06T07:47:11.623Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/qa-rules",
"status": 500,
"timestamp": "2026-05-06T07:47:11.623Z"
}Authorizations
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.
Path Parameters
The unique identifier of the QA rule to retrieve.
Response
OK
The unique identifier of the QA rule.
"rule_YYdKgw1masomMfe8"
The unique identifier of the workspace this QA rule belongs to.
"org_V6eZ2zg8ziDx5pft"
The name of the QA rule, used to identify it in rule lists and evaluation reports.
"Tone & Professionalism Check"
A brief explanation of what this QA rule evaluates and its intended purpose.
"Ensures agents maintain a professional and empathetic tone throughout the conversation."
Show child attributes
Show child attributes
The specific criteria or rubric used to evaluate agent responses against this rule.
"Evaluate whether agent greeted the customer by name, avoided interrupting, and closed with a resolution summary."
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.
true