# client.system_usage

> client.system_usage — the systemUsage operations.

`client.system_usage` — the `systemUsage` operations.

On `AsyncKindgi` every method is the same, awaited.

## `client.system_usage.read()`

```python signature
read(
    *,
    from_: str,
    to: str,
    group_by: str | None = None,
    kind: str | None = None,
    class_: str | None = None,
    state: str | None = None,
    limit: int | None = None,
    cursor: str | None = None,
    tenant_id: str | UUID | None = None,
    timeout: float | None = None,
) -> UsagePage
```

Read usage across tenants. `GET /v1/system/usage`

Usage records aggregated by the dimensions in `groupBy`: each group's count, the sum of its quantities, and its first and last times. Never a record's content. Records are counted when the counted thing happens, exactly once (the kinds `kind` lists, each run with its class). `watermark`: every record at or before it is in the answer, so re-read a window until its watermark is past the window's end; every page of one read carries the same watermark. A test tenant's usage, and one whose setup is pending, are never in the answer, even when `tenantId` names one. Takes `system:usage:read`; the access record marks a read across every tenant, or of the one named. A runtime that doesn't count usage (`KINDGI_USAGE_METERING` unset or `off`) answers 404.
