Zernio
Zernio
API Reference

Usage

Account billing snapshot (plan, cycle, balance, caps, status)GETCalling usage and costGETSMS usage (volumes)GETUsage snapshot (default) or billed-spend metering (with params)GETGet X API pricing tableGET
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Usage

Account billing snapshot (plan, cycle, balance, caps, status)

The billing "wallet/statement" view: current plan, billing cycle, accrued balance + remaining credits this period, spend caps, and payment / access status. This is the billing half of the legacy /v1/usage-stats snapshot. The per-product consumption half is metering and lives on GET /v1/usage.

Accounts on usage-based billing get a populated balance; legacy Stripe accounts get balance: null plus a deprecated legacy.limits block and, when payment-blocked, status.openInvoiceUrl / status.declineReason.


GET
/v1/billing

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Response Body

application/json

application/json

application/json

import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.usage.getBilling();console.log(data);
{  "billingSystem": "metronome",  "plan": {    "name": "string",    "isUsageBased": true,    "isPaid": true  },  "shopifyShopDomain": "string",  "period": {    "start": "2019-08-24T14:15:22Z",    "end": "2019-08-24T14:15:22Z",    "anchorDay": 0  },  "balance": {    "accruedThisPeriodCents": 0,    "creditsRemainingCents": 0  },  "caps": {    "xSpendUsedCents": 0,    "xSpendLimitCents": 0  },  "status": {    "hasAccess": true,    "suspended": true,    "suspendedAt": "2019-08-24T14:15:22Z",    "suspensionReason": "string",    "openInvoiceUrl": "string",    "declineReason": "string",    "autoUpgradeEnabled": true  },  "legacy": {    "limits": {      "uploads": 0,      "profiles": 0    }  }}
Was this page helpful?

List activity logs

Unified logs endpoint. Returns logs for publishing, connections, webhooks, and messaging. Filter by type, platform, status, and time range. Logs are retained for 90 days. Legacy query aliases remain accepted: `account_id` for `accountId`, `request_id` for `requestId`, `status_code` for `statusCode`, `api_key_id` for `apiKeyId`, and `include_read_receipts` for `includeReadReceipts`.

Calling usage and cost

Aggregated calling usage across your numbers, both channels (WhatsApp Business Calling + regular phone/PSTN): call counts, answered counts, minutes, and cost. Use it for cost visibility or to rebill your own customers per number. Costs come from each call's billing snapshot, so this endpoint always agrees with the invoice: `billableUSD` is what Zernio bills; `metaUSD` is the WhatsApp per-minute charge Meta bills directly to your WABA (display only, never billed by Zernio). Optional `groupBy` returns a breakdown by UTC day, by your number, or by channel. Defaults to the last 30 days.