WhatsApp Web
A personal or WhatsApp Business app account linked like WhatsApp Web. Allowed over the API, at your own risk of an account ban.
You are responsible for this account, and WhatsApp can ban it
A WhatsApp Web connection runs on an ordinary WhatsApp account (a phone number using the WhatsApp or WhatsApp Business app), linked to Gauge the way WhatsApp Web is linked to a browser. It is not Meta's official Business Platform.
WhatsApp may restrict or permanently ban an account that sends automated or high-volume messages, messages people did not ask for, or messages many recipients report or block. A ban takes the number off WhatsApp, usually with its chat history, and Gauge cannot reverse it.
By sending through a WhatsApp Web connection over the API, you accept that risk, and you are responsible for your send volume, your pacing and your recipients' consent. For automation, notifications or anything at volume, use the WhatsApp Cloud API.
Every WhatsApp Web connection says so in the API itself. Its warning field is never null:
"warning": {
"code": "whatsapp_web_ban_risk",
"message": "WhatsApp Web connections run on a personal WhatsApp account, not the official Business API. WhatsApp may restrict or ban an account that sends automated or high-volume messages. You are responsible for your send volume and limits on this connection."
}The same warning appears in the console when a key is created and on the connection itself, and
every POST /v2/messages on a WhatsApp Web connection answers with
"warnings": ["whatsapp_web_unofficial"].
What it can do
| Text | Yes, with no 24-hour window |
| Media | Yes |
| Quoted replies | Yes |
| Templates | No (templates are a Cloud API feature) |
| Start a conversation | Yes |
| Campaigns | No. Bulk sending is not available on WhatsApp Web, by design |
| Delivery | queued: every send answers 202 |
Using it responsibly
These lower the risk. None of them removes it.
- Answer, do not broadcast. Replying to people who wrote to you is the safest use. Cold messages to numbers that never contacted you are the riskiest.
- Pace your sends. Spread messages out; do not fire hundreds in a burst. Gauge applies its own per-connection send caps on WhatsApp Web, and you should stay well under them.
- Only message people who expect it, and stop when someone asks you to.
- Keep the phone healthy. The linked phone must stay online and signed in; if it logs out, the connection stops until it is re-linked.
- Move volume to the Cloud API. If a WhatsApp Web number is becoming important to your business, migrate it to the official platform.
Send caps
A newly linked number warms up: Gauge caps how much it sends while the account is young, and lifts the cap as it ages. The caps count every outbound message on the connection (console and API alike, queued ones included), per minute and per UTC day:
| Warm-up tier | Account age | Per minute | Per day |
|---|---|---|---|
| 0 | from linking | 1 | 30 |
| 1 | 3 days | 3 | 120 |
| 2 | 7 days | 8 | 400 |
| 3 | 14 days | 15 | 1,000 |
The connection's current tier and caps are in limits.sendCaps on
GET /v2/connections/{id}: { "perMinute": 1, "perDay": 30, "warmupTier": 0 }.
A send over a cap is refused, not delayed: 429 rate_limited with reason
whatsapp_web_minute_cap or whatsapp_web_daily_cap, details.limit, and a Retry-After header
(seconds until the minute, or the UTC day, resets). Nothing is queued. Wait and retry with the same
Idempotency-Key.