List monitoring alerts
curl --request GET \
--url https://api.godiligent.ai/monitoring-alerts \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.godiligent.ai/monitoring-alerts"
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.godiligent.ai/monitoring-alerts', 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.godiligent.ai/monitoring-alerts",
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.godiligent.ai/monitoring-alerts"
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.godiligent.ai/monitoring-alerts")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.godiligent.ai/monitoring-alerts")
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{
"items": [
{
"id": "a1b2c3d4",
"monitoring_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"customer_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"execution_result_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"website": "https://example.com",
"failed_checks": [
{
"check": "non_operational_website",
"explanation": "No Website Data found",
"method_used": "",
"status": "FAILED"
}
],
"execution_time": "2022-01-01T00:00:00.000Z",
"created_at": "2022-01-01T00:00:00.000Z",
"acknowledged_at": "2025-08-01T06:12:47.905Z",
"external_id": "123456"
}
],
"unacknowledged_count": 1,
"next_token": "eyJjdXN0b21lcklkIjp7IlMiOiI2OWRmNWQ4MS0yYjc0LTRmNDItYTQwMS0xM2ViOTZiYTA2MTkifSwiZXhlY3V0aW9uVGltZSI6eyJTIjoiMjAyNS0wNy0zMVQxMjowMTozMC44OTFaIn19"
}{
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}Monitoring
List Monitoring Alerts
Retrieve a paginated list of monitoring alerts for failed monitorings.
GET
/
monitoring-alerts
List monitoring alerts
curl --request GET \
--url https://api.godiligent.ai/monitoring-alerts \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.godiligent.ai/monitoring-alerts"
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.godiligent.ai/monitoring-alerts', 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.godiligent.ai/monitoring-alerts",
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.godiligent.ai/monitoring-alerts"
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.godiligent.ai/monitoring-alerts")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.godiligent.ai/monitoring-alerts")
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{
"items": [
{
"id": "a1b2c3d4",
"monitoring_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"customer_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"execution_result_id": "d6e3b214-30b1-4401-a1b8-a1bd3c6a84e4",
"website": "https://example.com",
"failed_checks": [
{
"check": "non_operational_website",
"explanation": "No Website Data found",
"method_used": "",
"status": "FAILED"
}
],
"execution_time": "2022-01-01T00:00:00.000Z",
"created_at": "2022-01-01T00:00:00.000Z",
"acknowledged_at": "2025-08-01T06:12:47.905Z",
"external_id": "123456"
}
],
"unacknowledged_count": 1,
"next_token": "eyJjdXN0b21lcklkIjp7IlMiOiI2OWRmNWQ4MS0yYjc0LTRmNDItYTQwMS0xM2ViOTZiYTA2MTkifSwiZXhlY3V0aW9uVGltZSI6eyJTIjoiMjAyNS0wNy0zMVQxMjowMTozMC44OTFaIn19"
}{
"errors": [
{
"path": [
"<string>"
],
"message": "<string>",
"code": "<string>"
}
]
}Overview
Retrieve a paginated list of monitoring alerts for the failed monitoring runs. Supports filtering by seen/unseen status and execution time, and provides an unseen alert count.Request
- Method:
GET - Path:
/monitoring-alerts - Query Parameters: Optional filters and pagination
Query Parameters
page_size(integer, optional) - Number of alerts per page- Default: 10
- Range: 1-100
- Must be a positive integer
next_token(string, optional) - Pagination token for next pageonly_unacknowledged(boolean, optional) - If true, returns only unacknowledged alertsacknowledged(boolean, optional) - If true, returns only acknowledged alertsexecution_time_before(ISO8601 string, optional) - Only include alerts executed before this timeexecution_time_after(ISO8601 string, optional) - Only include alerts executed after this time
Example Request
GET /monitoring-alerts?page_size=20&only_unacknowledged=true
Success Response
- Status: 200 OK
Response Body
items(array) - List of alert objectsid(string) - Unique identifier for the alertmonitoring_id(string) - ID of the monitoring that triggered this alertcustomer_id(string) - ID of the customer that owns this monitoringexecution_result_id(string) - ID of the execution resultwebsite(string) - URL of the monitored websitefailed_checks(array) - List of checks that failedcheck(string) - The type of check that failedexplanation(string) - Explanation of the failuremethod_used(string) - Method used for checkingstatus(string) - Status of the check
execution_time(string) - ISO8601 timestamp of when the monitoring was executedcreated_at(string) - ISO8601 timestamp of when the alert was createdacknowledged_at(string|null) - ISO8601 timestamp of when the alert was acknowledged, or null if not acknowledgedexternal_id(string, optional) - External reference ID
unacknowledged_count(integer) - Number of unacknowledged alerts for the customernext_token(string|null) - Token for next page (null if no more pages)
Example Response
{
"items": [
{
"id": "532ebbd3-269d-4c8f-b73b-2269eb83f1ae",
"monitoring_id": "c3853e7e-46dc-4c1f-afb4-028b3bdfce19",
"customer_id": "69df5d81-2b74-4f42-a401-13eb96ba0619",
"execution_result_id": "e79a2fe0-041f-4357-8b3b-43aa8410ab0b",
"website": "https://dokanstore-sa.com/",
"failed_checks": [
{
"check": "non_operational_website",
"explanation": "No Website Data found",
"method_used": "",
"status": "FAILED"
}
],
"execution_time": "2025-06-20T18:25:51.409Z",
"created_at": "2025-06-20T20:45:48.460Z",
"acknowledged_at": null,
"external_id": "cb7f0fab-38b7-4043-bd7f-5976ed4b5e19"
},
{
"id": "f085ca1e-8079-4a6c-8b1d-c17796c0aff5",
"monitoring_id": "288888fc-b5b4-4131-bac8-d45c33e9e32b",
"customer_id": "69df5d81-2b74-4f42-a401-13eb96ba0619",
"execution_result_id": "bccc5556-96bf-492a-aa69-09a1faefed15",
"website": "https://example-02.com/",
"failed_checks": [
{
"check": "non_operational_website",
"explanation": "No Website Data found",
"method_used": "",
"status": "FAILED"
}
],
"execution_time": "2025-06-20T18:25:45.215Z",
"created_at": "2025-06-20T20:45:48.460Z",
"acknowledged_at": null,
"external_id": "cb7f0fab-38b7-4043-bd7f-5976ed4b5e19"
}
],
"unacknowledged_count": 2,
"next_token": null
}
Error Handling
- 400 Bad Request
- Invalid query parameter values
- Example:
{ "error": "page_size must be a positive integer between 1 and 100" }
- 401 Unauthorized
- Missing or invalid customer authentication
- 500 Internal Server Error
- Unexpected server error
Pagination
The API uses cursor-based pagination with Base64-encoded tokens:- First request: Don’t include
next_token - Subsequent requests: Use the
next_tokenfrom the previous response - Last page:
next_tokenwill benull
Authorizations
Query Parameters
Number of alerts per page (1-100, default 10)
Required range:
1 <= x <= 100Pagination token for next page (Base64-encoded)
If 'true', returns only unacknowledged alerts
Available options:
true, false If 'true', returns only acknowledged alerts
Available options:
true, false Only include alerts executed before this time (ISO8601)
Only include alerts executed after this time (ISO8601)
Response
OK
Show child attributes
Show child attributes
Number of unacknowledged alerts
Example:
1
Pagination token for next page (null if last page)
Example:
"eyJjdXN0b21lcklkIjp7IlMiOiI2OWRmNWQ4MS0yYjc0LTRmNDItYTQwMS0xM2ViOTZiYTA2MTkifSwiZXhlY3V0aW9uVGltZSI6eyJTIjoiMjAyNS0wNy0zMVQxMjowMTozMC44OTFaIn19"
⌘I