---
title: "Per-table row counts and storage size for the tenant engine"
method: GET
path: "/v1/projects/{project_id}/stats"
tags: ["projects"]
---

# Per-table row counts and storage size for the tenant engine

`GET /v1/projects/{project_id}/stats`

## Request

- Base URL: `https://api.wavehouse.cloud`
- URL: `https://api.wavehouse.cloud/v1/projects/{project_id}/stats`
- Auth: one of:
  - API key in cookie `whc_session`
  - HTTP bearer
  - API key in header `X-API-Key`

Row count and compressed/uncompressed storage per table (plus a database-wide total), computed SERVER-SIDE by the API from ClickHouse system.parts (scoped to the project's own database). Read-only; any org member. Best-effort: returns available=false rather than erroring when sizes can't be read.

## Path parameters

- `project_id` string, required

## Response `200`

OK

- ProjectStatsView
  - `available` boolean, required
  - `tables` TableStatsView[], required
    - `compressed_bytes` integer, required
    - `rows` integer, required
    - `table` string, required
    - `tier` string, required
    - `uncompressed_bytes` integer, required
  - `total` TableStatsView, required
    - `compressed_bytes` integer, required
    - `rows` integer, required
    - `table` string, required
    - `tier` string, required
    - `uncompressed_bytes` integer, required

## Other responses

- `429`: Rate limited, per client IP, API key or org; a client IP is also refused on every route for a while after repeated authentication failures. A limited operation carries RateLimit-Policy and RateLimit on every response; wait Retry-After seconds before retrying.
- `default`: Error

---

[API](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api.md) · [All operations](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wavehouse/apis/wavehouse-cloud-api/revisions/adea029bf505?raw)
