curl --request GET \
--url https://api.sigmamind.ai/v1/agents \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/agents"
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/agents', 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/agents",
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/agents"
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/agents")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/agents")
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": [
{
"agentId": "SPIlVscbB0kkXBvZ",
"agentName": "Auralis",
"instructions": "You are a helpful customer support assistant. Answer concisely and professionally.",
"welcomeMessageType": "static",
"welcomeMessage": "Welcome to our service! How can I assist you today?",
"agentSettings": {
"language": "en_US",
"aiStartsConversation": true,
"backgroundSound": "keyboard_typing",
"globalPrompt": "You are a professional virtual assistant. Always respond politely and keep answers concise.",
"remindersIntervalDuration": 15,
"remindersLimit": 3,
"endCallOnSilenceDuration": 30,
"maxCallDuration": 40,
"llmModel": "gpt-4o-mini",
"llmTemperature": 0.5,
"llmTopP": 0.5,
"llmTopK": 40,
"voiceId": "elevenlabs_SGbOfpm28edC83pZ9iGb",
"voiceModelId": "eleven_turbo_v2_5",
"ttsSpeed": 0.7,
"ttsTemperature": 0.5,
"ttsVolume": 0.5,
"aiStartsSpeakingPlan": 0.5,
"aiStopsSpeakingPlan": 0.5,
"ivrHangup": true,
"agentTimezone": "Asia/Kolkata",
"autoVolumeNormalization": true,
"backgroundNoiseFilter": true,
"echoCancellation": true,
"enablePostConversationAnalysis": true,
"postConversationAnalysisLlmModel": "gpt-4o-mini",
"postConversationAnalysis": [
{
"insightName": "conversation summary",
"insightInstructions": "<string>",
"dataType": "string",
"options": [
"Interested",
"Not Interested",
"Follow Up Later"
]
}
],
"webhooks": [
{
"webhookId": "wh_BUbkx3PsbzQm5V10",
"name": "My Webhook",
"url": "https://example.com/webhook",
"secret": "mK9vXq2pL8nR5tY1wA3sD6fH0jC4bE7u",
"events": [
"<string>"
]
}
]
},
"tools": [
{
"type": "voice_transfer_call",
"nodeId": "<string>",
"toolName": "<string>",
"instruction": "<string>",
"transferToRouting": "static",
"transferTo": "+9187788XXXXX",
"extensionNumber": "1234",
"transferSettings": {
"transferType": "warm",
"ringingDuration": 40,
"waitForParticipantAnswer": true,
"enableWhisperMessage": true,
"whisperMessage": "<string>",
"whisperMessageType": "static",
"enableThreeWayMessage": true,
"threeWayMessage": "<string>",
"threeWayMessageType": "static",
"customHeaders": {}
}
}
]
}
],
"page": 123,
"size": 123,
"totalCount": 123,
"totalPages": 123,
"hasNext": true,
"hasPrevious": true
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/agents",
"status": 400,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/agents",
"status": 401,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/agents",
"status": 403,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/agents",
"status": 404,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/agents",
"status": 500,
"timestamp": "2026-05-04T14:44:41.742Z"
}List Agents
Retrieve a paginated list of all single prompt agents available in the account along with their details and configurations.
curl --request GET \
--url https://api.sigmamind.ai/v1/agents \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sigmamind.ai/v1/agents"
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/agents', 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/agents",
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/agents"
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/agents")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sigmamind.ai/v1/agents")
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": [
{
"agentId": "SPIlVscbB0kkXBvZ",
"agentName": "Auralis",
"instructions": "You are a helpful customer support assistant. Answer concisely and professionally.",
"welcomeMessageType": "static",
"welcomeMessage": "Welcome to our service! How can I assist you today?",
"agentSettings": {
"language": "en_US",
"aiStartsConversation": true,
"backgroundSound": "keyboard_typing",
"globalPrompt": "You are a professional virtual assistant. Always respond politely and keep answers concise.",
"remindersIntervalDuration": 15,
"remindersLimit": 3,
"endCallOnSilenceDuration": 30,
"maxCallDuration": 40,
"llmModel": "gpt-4o-mini",
"llmTemperature": 0.5,
"llmTopP": 0.5,
"llmTopK": 40,
"voiceId": "elevenlabs_SGbOfpm28edC83pZ9iGb",
"voiceModelId": "eleven_turbo_v2_5",
"ttsSpeed": 0.7,
"ttsTemperature": 0.5,
"ttsVolume": 0.5,
"aiStartsSpeakingPlan": 0.5,
"aiStopsSpeakingPlan": 0.5,
"ivrHangup": true,
"agentTimezone": "Asia/Kolkata",
"autoVolumeNormalization": true,
"backgroundNoiseFilter": true,
"echoCancellation": true,
"enablePostConversationAnalysis": true,
"postConversationAnalysisLlmModel": "gpt-4o-mini",
"postConversationAnalysis": [
{
"insightName": "conversation summary",
"insightInstructions": "<string>",
"dataType": "string",
"options": [
"Interested",
"Not Interested",
"Follow Up Later"
]
}
],
"webhooks": [
{
"webhookId": "wh_BUbkx3PsbzQm5V10",
"name": "My Webhook",
"url": "https://example.com/webhook",
"secret": "mK9vXq2pL8nR5tY1wA3sD6fH0jC4bE7u",
"events": [
"<string>"
]
}
]
},
"tools": [
{
"type": "voice_transfer_call",
"nodeId": "<string>",
"toolName": "<string>",
"instruction": "<string>",
"transferToRouting": "static",
"transferTo": "+9187788XXXXX",
"extensionNumber": "1234",
"transferSettings": {
"transferType": "warm",
"ringingDuration": 40,
"waitForParticipantAnswer": true,
"enableWhisperMessage": true,
"whisperMessage": "<string>",
"whisperMessageType": "static",
"enableThreeWayMessage": true,
"threeWayMessage": "<string>",
"threeWayMessageType": "static",
"customHeaders": {}
}
}
]
}
],
"page": 123,
"size": 123,
"totalCount": 123,
"totalPages": 123,
"hasNext": true,
"hasPrevious": true
}{
"error": "Bad Request",
"message": "Invalid request parameters",
"path": "/v1/agents",
"status": 400,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Unauthorized",
"message": "X-API-Key is missing or invalid",
"path": "/v1/agents",
"status": 401,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Forbidden",
"message": "Access denied for this resource",
"path": "/v1/agents",
"status": 403,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Not Found",
"message": "The requested resource was not found",
"path": "/v1/agents",
"status": 404,
"timestamp": "2026-05-04T14:44:41.742Z"
}{
"error": "Internal Server Error",
"message": "Unexpected server error",
"path": "/v1/agents",
"status": 500,
"timestamp": "2026-05-04T14:44:41.742Z"
}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
Zero-based page number to retrieve. Use 0 for the first page. Must be 0 or greater.
Number of single prompt changes to retrieve per page. Must be 1 or greater.
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.
Number of items requested per page. Determines the maximum size of the 'data' list.
Total number of records available across all pages. Useful for calculating pagination on the client side.
Total number of pages available based on totalCounts and size. Helps clients understand how many pages exist in total.
Indicates whether there is a next page available after the current one. Useful for implementing 'Load More' or next navigation.
Indicates whether there is a previous page before the current one. Useful for enabling backward navigation.