Billing
Messaging wallet balance and usage.
Retrieve the messaging wallet
Section titled “Retrieve the messaging wallet”GET
/v1/walletBetaWhatsApp conversation fees are drawn from a prepaid wallet. Alert your finance team before it runs dry.
curl "https://api.waasl.io/v1/wallet" \ -H "Authorization: Bearer $WAASL_API_KEY"const res = await fetch("https://api.waasl.io/v1/wallet", { headers: { Authorization: `Bearer ${process.env.WAASL_API_KEY}` },});if (!res.ok) throw new Error((await res.json()).code);const data = await res.json();import osimport requests
r = requests.get( "https://api.waasl.io/v1/wallet", headers={"Authorization": f"Bearer {os.environ['WAASL_API_KEY']}"},)r.raise_for_status()print(r.json())Response 200 — Wallet
{ "balance_minor": 125000, "currency": "KWD"}Usage for a period
Section titled “Usage for a period”GET
/v1/usageComing soonMessages, WhatsApp conversations by category, AI credits and seats used.
Query parameters
| Field | Type | Description |
|---|---|---|
from required |
string (date) | |
to required |
string (date) |
curl "https://api.waasl.io/v1/usage?from=2026-09-01&to=2026-09-30" \ -H "Authorization: Bearer $WAASL_API_KEY"const res = await fetch("https://api.waasl.io/v1/usage?from=2026-09-01&to=2026-09-30", { headers: { Authorization: `Bearer ${process.env.WAASL_API_KEY}` },});if (!res.ok) throw new Error((await res.json()).code);const data = await res.json();import osimport requests
r = requests.get( "https://api.waasl.io/v1/usage?from=2026-09-01&to=2026-09-30", headers={"Authorization": f"Bearer {os.environ['WAASL_API_KEY']}"},)r.raise_for_status()print(r.json())Response 200 — Usage
{ "messages_sent": 0, "conversations": { "marketing": 1200, "utility": 340, "service": 2100 }, "ai_credits": 0, "seats": 0}