---
title: "Customer sites, projects and databases that are down or unhealthy right now, across all organizations"
method: GET
path: "/operator/status/resources"
tags: ["Operator"]
---

# Customer sites, projects and databases that are down or unhealthy right now, across all organizations

`GET /operator/status/resources`

## Request

- Base URL: `https://hostingsurge.com/api/v1`
- URL: `https://hostingsurge.com/api/v1/operator/status/resources`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-hs_session`

From signals the platform already records (migration 146): uptime monitors that are down, projects and databases in error, resources that should run but have no running container, and container restarts or OOM kills in the last hour.

## Response `200`

Down or unhealthy resources, the worst first

- object
  - `generatedAt` string, required: ISO-8601 timestamp
  - `uptimeCheckedAt` string, nullable, required: newest uptime check of any site; null: the uptime checker has not run
  - `collectorReportedAt` string, nullable, required: newest report of the host container collector; null: not installed
  - `total` integer, required: all matching resources (the list holds at most 300, the worst first)
  - `items` object[], required
    - `kind` 'site' | 'project' | 'database', required
    - `problem` 'down' | 'error' | 'not_running' | 'restarting' | 'out_of_memory', required: down: the uptime monitor of a site (one of the project URLs) fails; error: the engine reported the project or database as failed; not_running: it should run but the host collector saw no running container; restarting / out_of_memory: container restarts or OOM kills in the last hour
    - `id` string, uuid, required: uptime monitor id (site), project id or database id
    - `name` string, required: host name (site), project or database name
    - `detail` string, nullable, required: the checked URL (site), the project kind or the database engine
    - `code` string, nullable, required: uptime failure cause, e.g. http_status, timeout, dns, tls
    - `message` string, nullable, required: last error text or the status detail from the engine (at most 300 characters)
    - `organizationId` string, uuid, required
    - `organizationName` string, required
    - `projectId` string, uuid, nullable, required
    - `projectName` string, nullable, required
    - `since` string, nullable, required: when the problem started, as far as recorded (open uptime incident, or the status change)
    - `lastCheckAt` string, nullable, required: the latest measurement: the uptime check, or the newest container sample of the collector
    - `count` integer, nullable, required: restarts or OOM kills in the last hour

## Other responses

- `403`: Not a platform operator, or a bearer-authenticated request (code forbidden)
- `501`: Not available on this server yet (code not_configured)

---

[API](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api.md) · [All operations](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hostingsurge/apis/hostingsurge-platform-api/revisions/4d08337cdff1?raw)
