On this page
Usage API
Written by hand because these routes are not in
openapi.yamlyet. How the numbers are counted is on Usage metering.
Get usage#
GET /api/v1/usage with from and to (YYYY-MM-DD, default this month so far, at most 366 days) and granularity (day or month).
A test key shows test usage and a live key shows live usage.
curl "https://meet.respiresoft.com/api/v1/usage?from=2026-11-01&to=2026-11-30&granularity=day" \
-H "Authorization: Bearer $MEET_API_KEY"import { Meet } from "@respiresoft/meet";
const meet = new Meet({ apiKey: process.env.MEET_API_KEY });
const usage = await meet.usage.get({ from: "2026-11-01", to: "2026-11-30", granularity: "day" });
console.log(usage.totals.participant_minutes);The answer has from, to, granularity, livemode, rows, totals and price_book. Each row has period, participant_minutes,
peak_concurrent, sessions, caption_minutes, translation_listener_minutes (per language), recording_minutes and storage_mb.
Month totals add minutes and sessions and take the highest peak.
Get an estimate#
GET /api/v1/usage/estimate?month=YYYY-MM returns line items and a total.
curl "https://meet.respiresoft.com/api/v1/usage/estimate?month=2026-11" -H "Authorization: Bearer $MEET_API_KEY"const estimate = await meet.usage.estimate("2026-11");
console.log(estimate.total, estimate.billing_live, estimate.charged);Fields: month, livemode, currency, line_items, total, billing_live, charged and note. While billing is not live,
billing_live and charged are false, and test mode always totals 0. Prices are on Pricing.
Errors: 400 invalid_parameter for a bad date or month, plus the usual 401, 403 and 429.