Menu
API reference
Dashboard
Team-wide aggregates: counts, active incidents, the worst monitors.
- GET Get team statistics
- GET List active incidents
- GET List the worst monitors
- GET List pending AI suggestions
Get team statistics
Response 200 application/json
dataobject requiredmonitors_upinteger requiredmonitors_downinteger requiredmonitors_degradedinteger requiredmonitors_maintenanceinteger requiredmonitors_pausedinteger, min 0 requiredmonitors_pendinginteger, min 0 requiredmonitors_totalinteger, min 0 requiredavg_response_msinteger or null requiredopen_incidentsinteger, min 0 requireduptime_24hnumber or null requireduptime_24h_deltanumber or null required
Errors
- 401 Unauthenticated
- 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
- 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.
Code samples
curl -X GET "https://api.uptizm.com/v1/dashboard/stats" \
-H "Authorization: Bearer $UPTIZM_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/dashboard/stats', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
'Accept': 'application/json',
},
});
const data = await response.json();
<?php
$curl = curl_init('https://api.uptizm.com/v1/dashboard/stats');
curl_setopt_array($curl, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
'Accept: application/json',
],
]);
$response = curl_exec($curl);
import os
import requests
response = requests.get(
"https://api.uptizm.com/v1/dashboard/stats",
headers={
"Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
"Accept": "application/json",
},
)
print(response.json())
Try it
ms
List active incidents
Response 200 application/json
dataarray of IncidentResource and object requiredidstring requiredteam_idstring requiredtitlestring requiredtitle_keystring or null requiredThe translation key of the incident title, sent beside title.
title_paramsarray of any requiredlifecyclestring, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" requiredseveritystring, one of "critical", "warn", "info" requiredimpactstring, one of "none", "minor", "major", "critical" requiredsignal_sourcestring, one of "user_threshold", "ai_anomaly", "manual" requiredai_ownedboolean requiredprimary_monitor_idstring or null requiredtrigger_metric_keystring or null requiredstarted_atstring requiredresolved_atstring or null requiredpostmortem_bodystring or null requiredpostmortem_published_atstring or null requiredassigneeobjectThe responder the incident is assigned to, or null when it is unassigned.
idstring requirednamestring required
ai_investigationobject or nullThe AI investigation report for the incident, or null when there is none to show.
verdictstring or null requiredsummarystring or null requiredevidence_forstring or array of string, max items 0 requiredevidence_againststring or array of string, max items 0 requiredused_confirmationboolean requiredconfirmation_regionstring requiredmodelstring required
monitorsarray of object requiredmonitor_idstring requirednamestring requiredcomponent_status_at_startstring or null requiredcomponent_status_currentstring or null, one of "up", "down", "degraded", "paused", "maintenance", null requiredRead from the monitor, not the pivot.
updatesarray of IncidentUpdateResource requiredidstring requiredincident_idstring requiredactorstring requiredauthorstring or null requiredstatusstring, one of "detected", "investigating", "identified", "monitoring", "mitigated", "resolved" requiredmessagestring requiredis_publicboolean requiredautonomousboolean requireddisplay_atstring requiredcreated_atstring or null required
created_atstring or null requiredupdated_atstring or null required
Errors
- 401 Unauthenticated
- 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
- 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.
Code samples
curl -X GET "https://api.uptizm.com/v1/dashboard/active-incidents" \
-H "Authorization: Bearer $UPTIZM_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/dashboard/active-incidents', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
'Accept': 'application/json',
},
});
const data = await response.json();
<?php
$curl = curl_init('https://api.uptizm.com/v1/dashboard/active-incidents');
curl_setopt_array($curl, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
'Accept: application/json',
],
]);
$response = curl_exec($curl);
import os
import requests
response = requests.get(
"https://api.uptizm.com/v1/dashboard/active-incidents",
headers={
"Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
"Accept": "application/json",
},
)
print(response.json())
Try it
ms
List the worst monitors
Response 200 application/json
dataarray of MonitorResource requiredidstring requiredteam_idstring requirednamestring requiredurlstring or null requiredtypestring requiredmethodstring, one of "get", "post", "head" requiredstatusstring requiredpaused_by_planboolean requiredWhy a paused monitor is paused: true when the plan stopped it, so the client offers an upgrade; false for a pause the customer chose.
paused_for_downtimeboolean requiredTrue when a month of nothing but down readings paused a Free monitor.
last_statusstring or null, one of "up", "down", "degraded", "paused", "maintenance", null requiredcheck_interval_secinteger requiredeffective_check_interval_secinteger requiredWhat the loop actually spends, which is the stored value clamped up to the plan's floor.
timeout_secinteger requiredregionsarray of any requiredexpected_status_codeinteger requiredrequest_headersarray of anyBoth emitted so the edit form can prefill what the operator configured.
request_bodystring or nullai_modeAiMode: string, one of "off", "suggest", "auto" requiredHow much authority the AI has for a given monitor or workspace.
effective_ai_modeAiMode: string, one of "off", "suggest", "auto" requiredHow much authority the AI has for a given monitor or workspace.
ai_auto_updatesboolean requiredRead back by the monitor form's own switch.
auth_configarray of any or null requiredslo_targetnumber or null requiredescalation_policy_idstring or null requiredThe pinned paging ladder, or null to fall back to the team default.
uptime_24hstring requiredMeasured uptime over the trailing 24h, attached by the show action only (null in list/edit responses and while a monitor has no checks yet, which the client renders as "no data").
slo_down_minutes_7dstring requiredslo_observed_minutes_7dstring requiredslo_gap_minutes_7dstring requiredslo_measured_minutes_7dstring requiredslo_down_minutes_30dstring requiredslo_observed_minutes_30dstring requiredslo_gap_minutes_30dstring requiredslo_measured_minutes_30dstring requiredtagsarray of any requiredshow_on_status_pageboolean requiredonly_show_if_degradedboolean requiredfollow_redirectsboolean requiredalert_on_downboolean requiredalert_on_recoverboolean requiredssl_trackingboolean requiredanomaly_detectionboolean requiredresponse_anomaly_sensitivitystring, one of "low", "medium", "high" requiredssl_expires_atstring or null requiredssl_last_checked_atstring or null requiredssl_last_errorstring or null requiredssl_alert_threshold_daysinteger requiredis_groupboolean requiredparent_idstring or null requiredlast_checked_atstring or null requiredlast_response_msinteger or null requiredlast_probe_errorstring or null requiredSet when the EDGE refused to run a probe, which is a configuration problem on this monitor rather than an outage of its target.
last_probe_error_atstring or null requirednext_check_atstring or null requiredconsecutive_failsinteger requiredincident_thresholdinteger requiredassertion_rulesarray of any or null requiredNull for both means off: no rules asserted, no degraded threshold.
degraded_after_msinteger or null requiredmaintenance_tolerance_secinteger requireddescriptionstring or null requireddescription_sourcestring or null, one of "ai_draft", "user", null requiredsite_kindstring or null, one of "ecommerce", "saas", "api", "content", "corporate", "other", null requiredintentstring or null requiredcreated_atstring or null requiredupdated_atstring or null required
Errors
- 401 Unauthenticated
- 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
- 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.
Code samples
curl -X GET "https://api.uptizm.com/v1/dashboard/monitors-snapshot" \
-H "Authorization: Bearer $UPTIZM_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/dashboard/monitors-snapshot', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
'Accept': 'application/json',
},
});
const data = await response.json();
<?php
$curl = curl_init('https://api.uptizm.com/v1/dashboard/monitors-snapshot');
curl_setopt_array($curl, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
'Accept: application/json',
],
]);
$response = curl_exec($curl);
import os
import requests
response = requests.get(
"https://api.uptizm.com/v1/dashboard/monitors-snapshot",
headers={
"Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
"Accept": "application/json",
},
)
print(response.json())
Try it
ms
List pending AI suggestions
meta.total counting all of them.Response 200 application/json
dataarray of string requiredmetaobject requiredtotalinteger, min 0 required
Errors
- 401 Unauthenticated
- 403 The key lacks the ability this endpoint requires (required_ability names it), or the action is not allowed for the team.
- 429 Rate limited. Each key may make 120 reads (GET) and 30 writes per minute; wait for Retry-After seconds.
Code samples
curl -X GET "https://api.uptizm.com/v1/dashboard/ai-inbox" \
-H "Authorization: Bearer $UPTIZM_API_KEY" \
-H "Accept: application/json"
const response = await fetch('https://api.uptizm.com/v1/dashboard/ai-inbox', {
method: 'GET',
headers: {
'Authorization': `Bearer ${process.env.UPTIZM_API_KEY}`,
'Accept': 'application/json',
},
});
const data = await response.json();
<?php
$curl = curl_init('https://api.uptizm.com/v1/dashboard/ai-inbox');
curl_setopt_array($curl, [
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer '.getenv('UPTIZM_API_KEY'),
'Accept: application/json',
],
]);
$response = curl_exec($curl);
import os
import requests
response = requests.get(
"https://api.uptizm.com/v1/dashboard/ai-inbox",
headers={
"Authorization": "Bearer " + os.environ["UPTIZM_API_KEY"],
"Accept": "application/json",
},
)
print(response.json())
Try it
ms