Get monitor metrics by target
curl --request GET \
--url https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target \
--header 'X-Maitai-Api-Key: <api-key>'import requests
url = "https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target"
headers = {"X-Maitai-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Maitai-Api-Key': '<api-key>'}};
fetch('https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target', 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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target",
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-Maitai-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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Maitai-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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target")
.header("X-Maitai-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Maitai-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"monitor_id": 501,
"monitor_target_id": 9001,
"target_type": "intent",
"target_id": 7,
"target_name": "order_intake",
"sample_rate": 5,
"enabled": true,
"metrics": {
"sampled_count": 200,
"pass_count": 195,
"error_count": 5,
"error_rate": 0.025
}
},
{
"monitor_id": 501,
"monitor_target_id": 9002,
"target_type": "workflow",
"target_id": 42,
"target_name": "order-intake-workflow",
"sample_rate": 5,
"enabled": true,
"metrics": {
"sampled_count": 280,
"pass_count": 255,
"warning_count": 12,
"error_count": 13,
"error_rate": 0.0464
}
}
]
}Monitors
Get monitor metrics by target
Per-target metrics rollup (one row per attached target). Targets with zero activity in the window still appear (with zeroed counts) so the caller can compare against the configured sample rate.
GET
/
monitors
/
{monitor_id}
/
metrics
/
by-target
Get monitor metrics by target
curl --request GET \
--url https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target \
--header 'X-Maitai-Api-Key: <api-key>'import requests
url = "https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target"
headers = {"X-Maitai-Api-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Maitai-Api-Key': '<api-key>'}};
fetch('https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target', 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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target",
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-Maitai-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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Maitai-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.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target")
.header("X-Maitai-Api-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trymaitai.ai/api/v1/monitors/{monitor_id}/metrics/by-target")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Maitai-Api-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"monitor_id": 501,
"monitor_target_id": 9001,
"target_type": "intent",
"target_id": 7,
"target_name": "order_intake",
"sample_rate": 5,
"enabled": true,
"metrics": {
"sampled_count": 200,
"pass_count": 195,
"error_count": 5,
"error_rate": 0.025
}
},
{
"monitor_id": 501,
"monitor_target_id": 9002,
"target_type": "workflow",
"target_id": 42,
"target_name": "order-intake-workflow",
"sample_rate": 5,
"enabled": true,
"metrics": {
"sampled_count": 280,
"pass_count": 255,
"warning_count": 12,
"error_count": 13,
"error_rate": 0.0464
}
}
]
}Was this page helpful?
⌘I