curl --request GET \
--url https://api.sigmamind.ai/v1/batch-runs \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/batch-runs"
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/batch-runs', 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/batch-runs",
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/batch-runs"
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/batch-runs")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/batch-runs")
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{
"data": [
{
"batchId": "batch_s0OJu2JWR8R45Fai",
"workspaceId": "org_V6eZ2zg8ziDx5pft",
"agent": {
"name": "New AI Agent",
"agentId": "agent_D5D0p7TUs66TTAEAx",
"status": "Live"
},
"createdDate": "2026-03-26T10:52:45.565Z",
"testCases": [
{
"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"
}
],
"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."
}
],
"successfulAttempts": 4,
"failedAttempts": 1,
"totalAttempts": 5
}
],
"page": 0,
"size": 20,
"totalCount": 125,
"totalPages": 7,
"hasNext": true,
"hasPrevious": false
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/batch-runs",
"status": 400,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/batch-runs",
"status": 401,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/batch-runs",
"status": 403,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/batch-runs",
"status": 404,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/batch-runs",
"status": 500,
"timestamp": "2026-05-05T10:06:43.880Z"
}List Batch Runs
Returns a paginated list of batch runs for the specified agent, sorted by most recently created first. Use page and size to navigate through results.
curl --request GET \
--url https://api.sigmamind.ai/v1/batch-runs \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/batch-runs"
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/batch-runs', 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/batch-runs",
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/batch-runs"
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/batch-runs")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/batch-runs")
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{
"data": [
{
"batchId": "batch_s0OJu2JWR8R45Fai",
"workspaceId": "org_V6eZ2zg8ziDx5pft",
"agent": {
"name": "New AI Agent",
"agentId": "agent_D5D0p7TUs66TTAEAx",
"status": "Live"
},
"createdDate": "2026-03-26T10:52:45.565Z",
"testCases": [
{
"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"
}
],
"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."
}
],
"successfulAttempts": 4,
"failedAttempts": 1,
"totalAttempts": 5
}
],
"page": 0,
"size": 20,
"totalCount": 125,
"totalPages": 7,
"hasNext": true,
"hasPrevious": false
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/batch-runs",
"status": 400,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/batch-runs",
"status": 401,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/batch-runs",
"status": 403,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/batch-runs",
"status": 404,
"timestamp": "2026-05-05T10:06:43.879Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/batch-runs",
"status": 500,
"timestamp": "2026-05-05T10:06:43.880Z"
}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.
Query Parameters
Unique identifier of the agent whose batch runs are to be listed.
Zero-based page number to retrieve. Use 0 for the first page. Must be 0 or greater.
Number of batch runs to return per page. Must be 1 or greater. Defaults to 10.
Response
OK
Standard wrapper for paginated API responses. Use this when returning list data that is split across multiple pages. Includes the current page of results along with pagination metadata to help clients navigate through large datasets efficiently.
List of items for the current page. Contains up to 'size' number of records.
Show child attributes
Show child attributes
Current page number (0-based index). Indicates which page of results is being returned.
0
Number of items requested per page. Determines the maximum size of the 'data' list.
20
Total number of records available across all pages. Useful for calculating pagination on the client side.
125
Total number of pages available based on totalCounts and size. Helps clients understand how many pages exist in total.
7
Indicates whether there is a next page available after the current one. Useful for implementing 'Load More' or next navigation.
true
Indicates whether there is a previous page before the current one. Useful for enabling backward navigation.
false