---
title: "Get project cloud telemetry (Preview)"
method: GET
path: "/v1beta/projects/{project_id}/cloud"
tags: ["projects"]
---

# Get project cloud telemetry (Preview)

`GET /v1beta/projects/{project_id}/cloud`

**Plan:** `All plans`

Returns cloud telemetry for a project's database, matching the editor's Cloud settings panel: disk-space usage, compute instance tier, lifecycle status and pause state, region, Postgres version, and resource-pressure alerts. Values are platform measurements cached for up to a few minutes; disk.timestamp reports when the platform measured it. Individual fields are omitted while their lookup is temporarily unavailable.

This operation is in public preview (beta) and served under `/v1beta`. Request and response shapes may change before it graduates to the stable `/v1` surface.

## Path parameters

- `project_id` string, required — Project ID

## Query parameters

- `environment` 'production' | 'development' — Cloud environment to read. Defaults to production.

## Response `200`

OK

- V1ProjectCloudBody
  - `disk` V1ProjectCloudDisk
    - `size_bytes` integer, required — Provisioned size of the database volume in bytes.
    - `timestamp` string, date-time, required — When the platform measured these values. Measurements refresh periodically; use this to judge data age.
    - `used_bytes` integer, required — Bytes used on the database volume, as last measured by the platform. Measures the whole managed volume, so it exceeds what SQL-level views (e.g. pg_database_size) can see.
  - `environment` string, required — Cloud environment these values describe.
  - `instance_tier` 'xs' | 's' | 'm' | 'ml' | 'l' | 'xl' | 'xxl', required — Current compute instance tier code.
  - `instance_tier_label` string, required — Human-readable tier name as shown in the editor (Tiny, Mini, Small, Medium, Large, X-Large, 2X-Large).
  - `pause_reason` string — Why the instance was paused (e.g. credit_limit), when recorded.
  - `postgres_version` string — Postgres major/minor version. Omitted while the lookup is temporarily unavailable.
  - `region` string — Region the database runs in. Omitted while the lookup is temporarily unavailable.
  - `resource_pressure` V1ProjectCloudResourcePressure
    - `resources` V1ProjectCloudResourceSignal[], nullable, required — Per-resource pressure signals. Alerts reset when the instance is resized.
      - `alert_hours` integer, required — Hours within the window that raised a pressure alert.
      - `label` string, required — Human-readable resource name.
      - `latest_alert_at` string, date-time — Most recent pressure alert in the window, if any.
      - `latest_value` number, double — Reported value of the most recent alert, if any.
      - `resource_type` string, required — Resource under pressure: cpu, memory, or disk_io.
    - `window_hours` integer, required — Size of the trailing window these signals cover.
  - `status` 'OK' | 'RESIZING' | 'UPGRADING' | 'RESTARTING' | 'COMING_UP' | 'RESTORING' | 'UNHEALTHY' | 'INACTIVE' | 'PAUSING' | 'UNKNOWN' | '' — Database instance lifecycle status. INACTIVE means paused. Cached for up to a minute; omitted while the lookup is temporarily unavailable.
  - `user_paused` boolean, required — True when a user (or the platform) explicitly paused this cloud instance.

## Other responses

- `401` — Missing or invalid API key.
- `403` — The key or caller lacks the required scope or permission.
- `406` — The Accept header excludes every media type this endpoint produces.
- `429` — Too many requests. Retry after the interval in Retry-After when present.
- `default` — Error. The response body uses the standard error envelope; status matches the HTTP status code and type is a machine-readable error code.

---

[API](https://skmtc.net/lovable/apis/lovable-api.md) · [All operations](https://skmtc.net/lovable/apis/lovable-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lovable/lovable-api/revisions/aa8d44585147/schema)
