Meet API Docs Dashboard
On this page

Usage API

Written by hand because these routes are not in openapi.yaml yet. 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.

bash
curl "https://meet.respiresoft.com/api/v1/usage?from=2026-11-01&to=2026-11-30&granularity=day" \
  -H "Authorization: Bearer $MEET_API_KEY"
js
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.

bash
curl "https://meet.respiresoft.com/api/v1/usage/estimate?month=2026-11" -H "Authorization: Bearer $MEET_API_KEY"
js
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.