Uptimeify Docs
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
  • date (Query, optional): Reference date used as the default end date.
    • Example: 2026-02-26
  • startDate (Query, optional): Start date/time.
  • endDate (Query, optional): End date/time.
  • granularity (Query, optional): Controls aggregation.
    • Use raw to disable aggregation.
    • Any other value enables aggregation.
    • If omitted, the server may aggregate automatically for larger ranges.

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):

  • icmpMonitorId
  • monitor
  • latestCheck
  • uptimeStats, uptimeStatsMeta
  • monitoringData
  • incidents
  • alerts
  • testResultLog
  • maintenance

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

  • 400 ICMP monitor public ID (UUID) required
  • 401 Unauthorized
  • 403 Forbidden
  • 404 ICMP monitor not found
  • 500 Failed to fetch ICMP monitor details

On this page