---
title: "Is X down right now?"
method: GET
path: "/_api/status/page"
tags: ["Status"]
---

# Is X down right now?

`GET /_api/status/page`

## Request

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

Live state, outage streak start, 30-day outage history, infrastructure and 'fails together' list for one provider, service or brand. This is the data behind https://shadowalpha.online/status/{slug} (German: /de/status/{slug}).

Verdict rules used on the website: an open provider incident affecting the services → down; one service failing two checks → not answering; several endpoints failing → partial; otherwise operational.

## Query parameters

- `slug` string, required

## Response `200`

Status page data. kind = unknown when nothing matches the slug.

- StatusPage: Everything behind one 'Is X down?' page.
  - `slug` string
  - `kind` 'provider' | 'service' | 'brand' | 'unknown'
  - `name` string
  - `category` string, nullable
  - `checkedAt` string, date-time, nullable: Time of the newest sweep.
  - `rows` object[]
    - `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
    - `via` string[]: Provider pages: the layers through which the service depends on the provider.
    - `slug` string
    - `since` string, date-time, nullable: Start of the current failing streak; null while the service answers.
  - `incidents` object[]
    - `id` string
    - `provider` string
    - `status` string
    - `startedAt` string, date-time
    - `affected` integer
  - `infrastructure` object[]
    - `layer` string
    - `name` string
    - `slug` string, nullable
    - `services` integer
  - `sharedWith` object[]: Services that share hosting, CDN or DNS with this page's services (what fails together).
    - `slug` string
    - `name` string
    - `via` string
  - `lastIssue` object, nullable
    - `name` string
    - `startedAt` string, date-time
    - `recoveredAt` string, date-time
  - `issues30d` integer: Finished outage episodes (two or more failed sweeps in a row) in the last 30 days.

## Other responses

- `503`: Live data temporarily unavailable.

---

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