curl --request GET \
--url https://api.sigmamind.ai/v1/qa-issues/{qaIssueId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/qa-issues/{qaIssueId}"
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-issues/{qaIssueId}', 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-issues/{qaIssueId}",
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-issues/{qaIssueId}"
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-issues/{qaIssueId}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/qa-issues/{qaIssueId}")
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{
"qaIssueId": "issue_1fueLBh6mJxwLbe1",
"qaRuleId": "rule_YYdKgw1masomMfe8",
"workspaceId": "org_GdDTrzEppfUfSZPE",
"agentId": "D5D0p7TUs66TTAEAx",
"callId": "call-H0eS7imseNUp0jCM",
"channel": "voice",
"result": "Fail",
"remarks": "Agent failed to acknowledge the customer's frustration before proceeding with troubleshooting.",
"qaRuleSnapshot": {
"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-issues",
"status": 400,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/qa-issues",
"status": 401,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/qa-issues",
"status": 403,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/qa-issues",
"status": 404,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/qa-issues",
"status": 500,
"timestamp": "2026-05-06T07:47:11.639Z"
}Get QA Issue
Retrieves the full details of a single QA issue by qaIssueId. Returns the issue record including its associated QA rule, status, reasons, and any metadata captured at detection time.
curl --request GET \
--url https://api.sigmamind.ai/v1/qa-issues/{qaIssueId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/qa-issues/{qaIssueId}"
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-issues/{qaIssueId}', 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-issues/{qaIssueId}",
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-issues/{qaIssueId}"
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-issues/{qaIssueId}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/qa-issues/{qaIssueId}")
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{
"qaIssueId": "issue_1fueLBh6mJxwLbe1",
"qaRuleId": "rule_YYdKgw1masomMfe8",
"workspaceId": "org_GdDTrzEppfUfSZPE",
"agentId": "D5D0p7TUs66TTAEAx",
"callId": "call-H0eS7imseNUp0jCM",
"channel": "voice",
"result": "Fail",
"remarks": "Agent failed to acknowledge the customer's frustration before proceeding with troubleshooting.",
"qaRuleSnapshot": {
"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-issues",
"status": 400,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/qa-issues",
"status": 401,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/qa-issues",
"status": 403,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/qa-issues",
"status": 404,
"timestamp": "2026-05-06T07:47:11.639Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/qa-issues",
"status": 500,
"timestamp": "2026-05-06T07:47:11.639Z"
}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 issue to retrieve.
Response
OK
The unique identifier of the QA issue.
"issue_1fueLBh6mJxwLbe1"
The unique identifier of the QA rule that triggered this issue.
"rule_YYdKgw1masomMfe8"
The unique identifier of the workspace in which this QA issue was raised.
"org_GdDTrzEppfUfSZPE"
The unique identifier of the agent whose interaction triggered this QA issue.
"D5D0p7TUs66TTAEAx"
The unique identifier of the call or chat associated with this QA issue.
"call-H0eS7imseNUp0jCM"
The communication channel through which the interaction occurred that raised this QA issue.
chat, voice "voice"
The outcome of the QA evaluation for this issue. Reflects whether the agent's interaction met or failed the associated QA rule's evaluation criteria.
Success, Fail "Fail"
Additional remarks or context provided by the evaluator regarding this QA issue.
"Agent failed to acknowledge the customer's frustration before proceeding with troubleshooting."
Show child attributes
Show child attributes