---
title: "List tenant meters."
method: GET
path: "/v1/billing/meters"
tags: ["billing"]
---

# List tenant meters.

`GET /v1/billing/meters`

## Request

- Base URL: `https://api.smolmachines.com`
- URL: `https://api.smolmachines.com/v1/billing/meters`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/smolmachines/apis/smolfleet-api/docs/v1/billing/meters/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns per-tenant metered usage and cost for the period. Requires the `admin` scope.

## Response `200`

Per-tenant metered usage + cost for the period

- TenantMeter[]
  - `cost` CostBreakdown, required: Cost breakdown for a usage period (all amounts in integer micros).
    - `amountDueMicros` integer: What the tenant actually owes: `total − discount − credit_applied`.
    - `baseMicros` integer: Per-machine "slot" fee: alive machine-hours × the plan's base rate. Prices the held VM slot (isolation, scheduling, readiness) independent of consumed compute — it is NOT allocated vCPU/RAM. `serde(default)` so older clients/payloads omitting it still deserialize.
    - `cpuMicros` integer, required
    - `creditAppliedMicros` integer: Portion of the free credit actually consumed this period (`min(free_credit, subtotal − discount)`).
    - `diskMicros` integer: Disk gb·hour cost. `serde(default)` so older clients/payloads omitting it still deserialize.
    - `egressMicros` integer: Egress (gb total) cost.
    - `execMicros` integer, required
    - `freeCreditMicros` integer: The plan's recurring free-credit allotment for the period.
    - `memoryMicros` integer, required
    - `monthlyFeeMicros` integer: Flat platform fee charged for this period (0 on usage-only plans).
    - `totalMicros` integer, required: Gross subtotal: sum of all resource line items, before discounts/credits.
    - `volumeDiscountMicros` integer: Graduated volume discount applied to the subtotal (period-level only; always 0 on per-machine breakdowns).
  - `cpuHours` number, double, required
  - `diskGbHours` number, double: Disk gb·hours metered for the period.
  - `egressGb` number, double: Egress gb (networking, billed by gb total) for the period.
  - `execCount` integer, required
  - `externalBillingId` string, nullable
  - `memoryGbHours` number, double, required
  - `tenantId` string, required

## Other responses

- `401`: Missing or invalid API key
- `403`: Key lacks the required scope
- `429`: Rate limited; retry after the Retry-After header
- `500`: Internal error

## Changes

- **2026-10-16** `bc31fc04a568`: 15 info
  - the endpoint scheme security `ApiKeyAuth` was added to the API
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `429`
  - …11 more

[Operation history](https://skmtc.dev/smolmachines/apis/smolfleet-api/changes/v1/billing/meters/get.md)

---

[API](https://skmtc.dev/smolmachines/apis/smolfleet-api.md) - [All operations](https://skmtc.dev/smolmachines/apis/smolfleet-api/llms.txt) - [OpenAPI document](https://skmtc.dev/smolmachines/apis/smolfleet-api/revisions/bc31fc04a568?raw)
