---
title: "Full live radar"
method: GET
path: "/_api/radar/status"
tags: ["Status"]
---

# Full live radar

`GET /_api/radar/status`

## Request

- Base URL: `https://shadowalpha.online`
- URL: `https://shadowalpha.online/_api/radar/status`
- Auth: none declared

Every monitored service with live state and infrastructure, open and recent provider incidents with blast radius, a 24 h error timeline, recent state changes, provider and category summaries and concentration shares per layer. About 1.3 MB uncompressed; send Accept-Encoding: gzip (about 90 KB on the wire). Refreshed every 5 minutes.

## Response `200`

status = warming_up until the first sweep after a deploy, then live.

- object
  - `status` 'live' | 'warming_up'
  - `run` object
    - `runId` string
    - `at` string, date-time
    - `total` integer
    - `up` integer
    - `degraded` integer
    - `down` integer
    - `vantageSuspect` boolean: More than 50 % of probes failed at once: our node is suspect and no incidents are opened or resolved.
    - `medianLatencyMs` integer, nullable
  - `services` Service[]
    - `id` string
    - `name` string
    - `category` string
    - `analyzedHost` string, nullable
    - `hostingProvider` string, nullable: Network owner of the serving IP (ASN) or the cloud from its published IP ranges.
    - `hostingRegion` string, nullable: Cloud region when the IP is in a provider's published regional range; 'global' for global load balancers.
    - `hostingCountry` string, nullable
    - `hostingCity` string, nullable: Approximate city (DB-IP Lite) when the origin is directly visible, not behind a CDN.
    - `geoCountry` string, nullable
    - `hostingLat` number, nullable
    - `hostingLon` number, nullable
    - `cdn` string, nullable
    - `dnsProvider` string, nullable
    - `emailProvider` string, nullable
    - `state` 'up' | 'degraded' | 'down' | 'unknown': up = answered the latest check with HTTP < 500; degraded = failed the latest check only; down = failed the latest two checks; unknown = not checked in the last 30 minutes.
    - `httpStatus` integer, nullable: Status of the latest probe (redirects are not followed; 401/404 count as reachable).
    - `latencyMs` integer, nullable
    - `error` string, nullable
    - `uptime24h` number, nullable: Share of reachable probes in the last 24 h.
    - `samples24h` integer
  - `incidents` Incident[]
    - `id` string
    - `layer` 'hosting' | 'region' | 'cdn' | 'dns'
    - `provider` string
    - `status` 'open' | 'resolved'
    - `startedAt` string, date-time
    - `lastSeenAt` string, date-time
    - `resolvedAt` string, date-time, nullable
    - `affected` object[]
      - `id` string
      - `name` string
    - `atRisk` object[]: Services in the same group that still answer.
      - `id` string
      - `name` string
    - `peakFailureShare` number
  - `timeline` object[]
    - `bucket` string
    - `checks` integer
    - `failed` integer
    - `services` integer
  - `events` object[]: Recent state changes.
  - `providers` object[]
  - `concentration` object: Share of mapped services per provider for hosting, cdn, dns and email.
  - `categories` object[]

---

[API](https://skmtc.dev/shadowalpha/apis/shadowgraph-api.md) · [All operations](https://skmtc.dev/shadowalpha/apis/shadowgraph-api/llms.txt) · [OpenAPI document](https://skmtc.dev/shadowalpha/apis/shadowgraph-api/revisions/1b62d5453408?raw)
