Endpoints

Analytics

GET/api/v1/me/analytics/summary

Return high-level analytics summary for an organization.

Requires: Owner or Member role

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Response Body

application/json

curl -X GET "https://example.com/api/v1/me/analytics/summary"
{  "total_monitors": 0,  "monitors_up": 0,  "monitors_down": 0,  "avg_uptime_7d": 0,  "avg_response_time_ms": 0,  "total_incidents_7d": 0,  "total_checks_24h": 0}
GET/api/v1/me/monitors/{monitor_id}/analytics

Return analytics for a single monitor over the requested time range.

Requires: Owner or Member role

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Path Parameters

monitor_id*Monitor Id
Formatuuid

Query Parameters

range?Range

Time range: 1h, 24h, 7d, or 30d

Match^(1h|24h|7d|30d)$
Default"24h"

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/me/monitors/497f6eca-6276-4993-bfeb-53cbbbba6f08/analytics"
{  "uptime_percentage": 0,  "avg_response_time_ms": 0,  "p95_response_time_ms": 0,  "response_time_history": [    {      "timestamp": "2019-08-24T14:15:22Z",      "response_time_ms": 0    }  ],  "status_distribution": {}}
GET/api/v1/me/analytics/sparklines

Return two datasets for every monitor in the org:

  • points: bucketed avg response-time for the latency line chart
  • checks: last 30 individual check statuses (oldestβ†’newest) for the pulse bar

Latency uses 30-minute buckets for ≀12 h, 1-hour buckets otherwise.

Authorization

HTTPBearer
AuthorizationBearer <token>

In: header

Query Parameters

hours?Hours

Look-back window in hours

Range1 <= value <= 48
Default6

Response Body

application/json

application/json

curl -X GET "https://example.com/api/v1/me/analytics/sparklines"
{  "monitors": [    {      "monitor_id": "string",      "points": [        {          "t": 0,          "v": 0        }      ],      "checks": [        {          "t": 0,          "s": "string"        }      ]    }  ]}