curl --request GET \
--url https://api.sigmamind.ai/v1/test-cases/{testCaseId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/test-cases/{testCaseId}"
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/test-cases/{testCaseId}', 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/test-cases/{testCaseId}",
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/test-cases/{testCaseId}"
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/test-cases/{testCaseId}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/test-cases/{testCaseId}")
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{
"testCaseId": "tc_d17T6uReChpyfFeP",
"label": "Angry Customer - Cancellation Flow",
"agent": {
"name": "New AI Agent",
"agentId": "agent_D5D0p7TUs66TTAEAx",
"status": "Live"
},
"workspaceId": "org_V6eZ2zg8ziDx5pft",
"llmModel": "gpt-4o-mini",
"mockData": [
{
"variableName": "customer_name",
"value": "John Doe"
},
{
"variableName": "account_status",
"value": "active"
}
],
"mockToolData": [
{
"toolAlias": "get_order",
"mockToolDataId": "mock_dpKjqjKnY3z6gABF",
"name": "Success - Empty List",
"statusCode": 200
}
],
"userPrompt": "You are an angry customer who wants to cancel your subscription.",
"attempt": 5,
"successCriteria": "The agent should acknowledge the cancellation request, present retention alternatives, and confirm the cancellation if the customer insists."
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/test-cases",
"status": 400,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/test-cases",
"status": 401,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/test-cases",
"status": 403,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/test-cases",
"status": 404,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/test-cases",
"status": 500,
"timestamp": "2026-09-07T03:34:25.447Z"
}Get Test Case
Retrieves the full details of a single simulation test case by testCaseId. Returns the conversation scenario definition, including the user persona, goals, evaluation criteria, and current status.
curl --request GET \
--url https://api.sigmamind.ai/v1/test-cases/{testCaseId} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/test-cases/{testCaseId}"
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/test-cases/{testCaseId}', 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/test-cases/{testCaseId}",
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/test-cases/{testCaseId}"
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/test-cases/{testCaseId}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/test-cases/{testCaseId}")
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{
"testCaseId": "tc_d17T6uReChpyfFeP",
"label": "Angry Customer - Cancellation Flow",
"agent": {
"name": "New AI Agent",
"agentId": "agent_D5D0p7TUs66TTAEAx",
"status": "Live"
},
"workspaceId": "org_V6eZ2zg8ziDx5pft",
"llmModel": "gpt-4o-mini",
"mockData": [
{
"variableName": "customer_name",
"value": "John Doe"
},
{
"variableName": "account_status",
"value": "active"
}
],
"mockToolData": [
{
"toolAlias": "get_order",
"mockToolDataId": "mock_dpKjqjKnY3z6gABF",
"name": "Success - Empty List",
"statusCode": 200
}
],
"userPrompt": "You are an angry customer who wants to cancel your subscription.",
"attempt": 5,
"successCriteria": "The agent should acknowledge the cancellation request, present retention alternatives, and confirm the cancellation if the customer insists."
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/test-cases",
"status": 400,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/test-cases",
"status": 401,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/test-cases",
"status": 403,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/test-cases",
"status": 404,
"timestamp": "2026-09-07T03:34:25.447Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/test-cases",
"status": 500,
"timestamp": "2026-09-07T03:34:25.447Z"
}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
Unique identifier of the test case to retrieve. Obtained from the testCaseId field in the Create Test Case or List Test Cases response.
Query Parameters
Unique identifier of the agent to which the test case belongs.
Response
OK
The unique identifier of the test case.
"tc_d17T6uReChpyfFeP"
A human-readable name or label for the test case, used to identify it in reports and dashboards.
"Angry Customer - Cancellation Flow"
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.
Show child attributes
Show child attributes
The unique identifier of the workspace under which this test case was created.
"org_V6eZ2zg8ziDx5pft"
The LLM model used to generate Agent responses during the simulation.
"gpt-4o-mini"
The list of mock variables and their simulated values that were used to substitute for real external data sources during the simulation.
Show child attributes
Show child attributes
[ { "variableName": "customer_name", "value": "John Doe" }, { "variableName": "account_status", "value": "active" } ]
Bindings from agent tool aliases to mock tool responses. May include resolved mock name and statusCode for the UI.
Show child attributes
Show child attributes
[ { "toolAlias": "get_order", "mockToolDataId": "mock_dpKjqjKnY3z6gABF", "name": "Success - Empty List", "statusCode": 200 } ]
The prompt that defined the persona and intent of the simulated user, driving the user-side messages throughout the conversation.
"You are an angry customer who wants to cancel your subscription."
The number of times this test case was configured to run as independent simulation attempts.
5
The plain-language description of what a successful agent response looks like, used to evaluate the agent's performance after each simulation run.
"The agent should acknowledge the cancellation request, present retention alternatives, and confirm the cancellation if the customer insists."