Update an agent's evaluate settings
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_active": true,
"sessionization": {
"timeout_minutes": 5,
"report_language": "German"
},
"text": {
"emotion_detection": {
"enabled": false
},
"success_evaluation_prompt": {
"enabled": true,
"prompt": "Evaluate whether the customer ended satisfied AND with a clear next step."
}
},
"voice": {
"human_escalation_detection": {
"enabled": true
}
}
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate"
payload = {
"is_active": True,
"sessionization": {
"timeout_minutes": 5,
"report_language": "German"
},
"text": {
"emotion_detection": { "enabled": False },
"success_evaluation_prompt": {
"enabled": True,
"prompt": "Evaluate whether the customer ended satisfied AND with a clear next step."
}
},
"voice": { "human_escalation_detection": { "enabled": True } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
is_active: true,
sessionization: {timeout_minutes: 5, report_language: 'German'},
text: {
emotion_detection: {enabled: false},
success_evaluation_prompt: {
enabled: true,
prompt: 'Evaluate whether the customer ended satisfied AND with a clear next step.'
}
},
voice: {human_escalation_detection: {enabled: true}}
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate', 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://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'is_active' => true,
'sessionization' => [
'timeout_minutes' => 5,
'report_language' => 'German'
],
'text' => [
'emotion_detection' => [
'enabled' => false
],
'success_evaluation_prompt' => [
'enabled' => true,
'prompt' => 'Evaluate whether the customer ended satisfied AND with a clear next step.'
]
],
'voice' => [
'human_escalation_detection' => [
'enabled' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate"
payload := strings.NewReader("{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Agent evaluate settings retrieved",
"data": {
"agent_uuid": "65d4553e-f383-46ad-bf97-69bf071b3ebb",
"is_default": false,
"is_active": true,
"source": "agent",
"sessionization": {
"session_mode": "sliding_timeout",
"timeout_minutes": 5,
"report_language": "English",
"summary_prompt": "Summarize the guest interaction in 2-3 sentences, focusing on key requests and resolutions."
},
"text": {
"sentiment_analyzer": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"emotion_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intensity_strength_levels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_action_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_labels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"knowledge_gap": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"human_escalation_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"contextual_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"customer_satisfaction_score": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"success_evaluation_prompt": {
"enabled": true,
"description": "Determine if the conversation indicates a successful outcome based on context and specific phrases",
"prompt": "Evaluate if the customer's main request was handled properly and if the issue they needed help with was fully resolved."
}
},
"voice": {
"sentiment_analyzer": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"emotion_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intensity_strength_levels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_action_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_labels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"knowledge_gap": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"human_escalation_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"contextual_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"customer_satisfaction_score": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"success_evaluation_prompt": {
"enabled": true,
"description": "Determine if the conversation indicates a successful outcome based on context and specific phrases",
"prompt": "Evaluate if the customer's main request was handled properly and if the issue they needed help with was fully resolved."
}
},
"created_at": "2026-01-15T10:23:00+00:00",
"updated_at": "2026-05-08T14:12:33+00:00"
}
}{
"success": false,
"message": "Agent not found",
"data": []
}{
"message": "The sessionization.timeout minutes field must be an integer.",
"errors": {
"sessionization.timeout_minutes": [
"The sessionization.timeout minutes field must be an integer."
]
}
}Evaluate
Update an agent's evaluate settings
Partial update. If the agent has no override yet, one is auto-created from the current global default before applying changes (so you do not need to call /assign first). Only the keys you send are touched.
PUT
/
api
/
v1
/
agents
/
{uuid}
/
evaluate
Update an agent's evaluate settings
curl --request PUT \
--url https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_active": true,
"sessionization": {
"timeout_minutes": 5,
"report_language": "German"
},
"text": {
"emotion_detection": {
"enabled": false
},
"success_evaluation_prompt": {
"enabled": true,
"prompt": "Evaluate whether the customer ended satisfied AND with a clear next step."
}
},
"voice": {
"human_escalation_detection": {
"enabled": true
}
}
}
'import requests
url = "https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate"
payload = {
"is_active": True,
"sessionization": {
"timeout_minutes": 5,
"report_language": "German"
},
"text": {
"emotion_detection": { "enabled": False },
"success_evaluation_prompt": {
"enabled": True,
"prompt": "Evaluate whether the customer ended satisfied AND with a clear next step."
}
},
"voice": { "human_escalation_detection": { "enabled": True } }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
is_active: true,
sessionization: {timeout_minutes: 5, report_language: 'German'},
text: {
emotion_detection: {enabled: false},
success_evaluation_prompt: {
enabled: true,
prompt: 'Evaluate whether the customer ended satisfied AND with a clear next step.'
}
},
voice: {human_escalation_detection: {enabled: true}}
})
};
fetch('https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate', 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://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'is_active' => true,
'sessionization' => [
'timeout_minutes' => 5,
'report_language' => 'German'
],
'text' => [
'emotion_detection' => [
'enabled' => false
],
'success_evaluation_prompt' => [
'enabled' => true,
'prompt' => 'Evaluate whether the customer ended satisfied AND with a clear next step.'
]
],
'voice' => [
'human_escalation_detection' => [
'enabled' => true
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate"
payload := strings.NewReader("{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{subdomain}.mihu.ai/api/v1/agents/{uuid}/evaluate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"is_active\": true,\n \"sessionization\": {\n \"timeout_minutes\": 5,\n \"report_language\": \"German\"\n },\n \"text\": {\n \"emotion_detection\": {\n \"enabled\": false\n },\n \"success_evaluation_prompt\": {\n \"enabled\": true,\n \"prompt\": \"Evaluate whether the customer ended satisfied AND with a clear next step.\"\n }\n },\n \"voice\": {\n \"human_escalation_detection\": {\n \"enabled\": true\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "Agent evaluate settings retrieved",
"data": {
"agent_uuid": "65d4553e-f383-46ad-bf97-69bf071b3ebb",
"is_default": false,
"is_active": true,
"source": "agent",
"sessionization": {
"session_mode": "sliding_timeout",
"timeout_minutes": 5,
"report_language": "English",
"summary_prompt": "Summarize the guest interaction in 2-3 sentences, focusing on key requests and resolutions."
},
"text": {
"sentiment_analyzer": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"emotion_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intensity_strength_levels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_action_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_labels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"knowledge_gap": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"human_escalation_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"contextual_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"customer_satisfaction_score": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"success_evaluation_prompt": {
"enabled": true,
"description": "Determine if the conversation indicates a successful outcome based on context and specific phrases",
"prompt": "Evaluate if the customer's main request was handled properly and if the issue they needed help with was fully resolved."
}
},
"voice": {
"sentiment_analyzer": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"emotion_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intensity_strength_levels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_action_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"intent_labels": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"knowledge_gap": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"human_escalation_detection": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"contextual_sentiment": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"customer_satisfaction_score": {
"enabled": true,
"description": "Classify the sentiment of the following text as Positive, Neutral, or Negative"
},
"success_evaluation_prompt": {
"enabled": true,
"description": "Determine if the conversation indicates a successful outcome based on context and specific phrases",
"prompt": "Evaluate if the customer's main request was handled properly and if the issue they needed help with was fully resolved."
}
},
"created_at": "2026-01-15T10:23:00+00:00",
"updated_at": "2026-05-08T14:12:33+00:00"
}
}{
"success": false,
"message": "Agent not found",
"data": []
}{
"message": "The sessionization.timeout minutes field must be an integer.",
"errors": {
"sessionization.timeout_minutes": [
"The sessionization.timeout minutes field must be an integer."
]
}
}Authorizations
Use a Bearer token to access these API endpoints. Example: "Bearer {your-token}"
Path Parameters
Example:
"65d4553e-f383-46ad-bf97-69bf071b3ebb"
Body
application/json
Update payload for evaluate settings. All fields optional; only the keys you send are touched (partial update).
Master on/off for evaluation on this agent (or globally).
Example:
true
Session timing and report language.
Show child attributes
Show child attributes
Analyzer config for text channels (chat, SMS, WhatsApp text).
Show child attributes
Show child attributes
Analyzer config for voice channels (call, WhatsApp Call).
Show child attributes
Show child attributes
Read effective evaluate settings for one agentRemove the agent's override (revert to global default)
⌘I