MonitorsIcmp monitors
Get ICMP Monitor Details
Returns a consolidated payload used by the monitor details page, including the monitor, customer, and aggregated check data for a given time range.
GET /api/icmp-monitors/:icmpMonitorPublicId/details
Authentication
Requires a valid session.
- Header:
Authorization: Bearer <token>
Parameters
icmpMonitorPublicId(Path, required): ICMP monitor public UUID.
Time range query parameters
The endpoint supports multiple ways to define the time range. Use the simplest option for your use case:
range(Query, optional): Preset range.- Allowed:
day(default),week,month,year
- Allowed:
date(Query, optional): Reference date used as the default end date.- Example:
2026-02-26
- Example:
startDate(Query, optional): Start date/time.endDate(Query, optional): End date/time.granularity(Query, optional): Controls aggregation.- Use
rawto disable aggregation. - Any other value enables aggregation.
- If omitted, the server may aggregate automatically for larger ranges.
- Use
If you provide multiple, the server resolves them according to its internal precedence rules.
cURL
curl -X GET "https://YOUR_DOMAIN/api/icmp-monitors/22222222-2222-4222-8222-222222222222/details?range=day&granularity=raw" \
-H "Authorization: Bearer $TOKEN"Response
Top-level fields (current shape):
icmpMonitorIdmonitorlatestCheckuptimeStats,uptimeStatsMetamonitoringDataincidentsalertstestResultLogmaintenance
Example:
{
"icmpMonitorId": 123,
"monitor": {
"id": 123,
"customerId": 10,
"organizationId": 1,
"name": "Core Router",
"hostname": "10.0.0.1",
"status": "active",
"checkInterval": 30,
"timeoutSeconds": 30,
"port": null,
"config": { "packetSize": 56, "count": 3 },
"notificationPhoneNumber": null,
"notificationEmail": null,
"lastCheckedAt": null,
"createdAt": "2026-02-26T12:00:00.000Z",
"updatedAt": "2026-02-26T12:00:00.000Z"
},
"latestCheck": null,
"uptimeStats": {
"day": "100.00",
"month": "100.00",
"year": "100.00",
"dayAvgResponse": 22,
"monthAvgResponse": 22,
"yearAvgResponse": 22
},
"uptimeStatsMeta": {
"day": { "window": "24h", "downtimeMinutes": 0, "incidents": 0, "checksTotal": 24, "checksFailed": 0 },
"month": { "window": "30d", "downtimeMinutes": 0, "incidents": 0, "checksTotal": 720, "checksFailed": 0 },
"year": { "window": "YTD", "downtimeMinutes": 0, "incidents": 0, "checksTotal": 1000, "checksFailed": 0 }
},
"monitoringData": {
"responseTimeData": [
{
"timestamp": "2026-02-26T12:00:00.000Z",
"responseTime": 22,
"status": "success",
"success": true,
"timingDns": 0,
"timingTcp": 22,
"timingTls": 0,
"timingTtfb": 0,
"timingTransfer": 0
}
],
"statusData": [{ "date": "26.02", "status": "online" }],
"uptimePercentage": "100.00",
"checkSuccessRatePercentage": "100.00",
"totalChecks": 100,
"successfulChecks": 100
},
"incidents": { "history": [], "total": 0, "ongoing": 0, "totalDowntime": "0s" },
"alerts": { "history": [], "total": 0, "notificationContext": { "orgDefaultEmail": null, "orgDefaultPhoneNumber": null, "customerEmail": null, "notificationTargets": [] } },
"testResultLog": [],
"maintenance": { "inMaintenance": false, "activeWindows": [], "allWindows": [] }
}Errors
400ICMP monitor public ID (UUID) required401Unauthorized403Forbidden404ICMP monitor not found500Failed to fetch ICMP monitor details