Guide

Keep your number healthy

WhatsApp decides which numbers it restricts. Part of staying clear of that is built into wuapi. Most of it is how you send.

01/What wuapi does for you

Built into every account

Pacing and typing are off by default, so replies and codes go out at once. Turn them on per account, from the API or the dashboard, before you write first to many people. Sending safely

  • Paces a number, when you turn it on

    Off by default. We recommend 12 messages a minute per account, and 5 a minute to people who never wrote to it.

    messagesPerMinute 12 · firstContactPerMinute 5 · 0 = off · max 30
  • Types before it sends, when you turn it on

    Off by default. On, the contact sees "typing…" for 0.8 to 6 seconds, longer for longer messages.

    typing.enabled true · 800–6000 ms · 25 chars/s
  • Queues bursts

    Each number sends one message at a time. With pacing on, 200 sent at once leave at the pace; a message waits up to 1 hour, then fails as rate_limited.

    queueTimeoutMinutes 60 · 1–1440 per account
  • Checks the number first

    Before a first message to someone, we ask WhatsApp if the number is on it. If it isn't, nothing is sent.

    message.failed · error.code not_on_whatsapp
  • Connects from the number's country

    Each account gets its own residential exit. If the proxy is down, the account stays offline instead of using our servers.

    egress: residential or refuse
  • Keeps the same exit

    It only moves after 3 failed connects, at most 4 times a day, 6 hours apart, or 8 if it stays down.

    sticky · rotate_after=3 · max 8/day
  • Stops after a ban or logout

    We don't reconnect a number WhatsApp logged out or banned. Retrying in a loop tends to make it worse.

    disconnectReason temporary_ban · logged_out
  • Turns calls away, if you want

    With rejectCalls on, every call is declined as it rings, with an optional text reply.

    PATCH /v1/accounts/{id} · rejectCalls · reply ≤ 1000 chars

02/What you should do

Habits that help

This is advice from running numbers, not WhatsApp's rulebook. Nobody outside WhatsApp knows exactly how it decides.

  • Message people who expect you

    They gave you their number and know why you're writing. Make stopping easy, and honor it the first time.

  • Let them write first when you can

    A chat the contact started is usually the safest kind. A "message us on WhatsApp" link on your site does this.

  • Warm up a new number

    A new number sending a lot on day one is a common cause of trouble. Start small and grow with the replies (see below).

  • Write to one person, not a list

    Use their name, their order, their appointment. The same text to hundreds of people tends to get reported.

  • Keep the first message plain

    No links or attachments in a first message to a new contact. Send them after they reply.

  • Answer inbound fast

    Numbers that hold real conversations tend to look like people, because they are.

  • Look like a real business

    Set a name, a photo and an about line before you send anything.

    PATCH /v1/accounts/{id}/profile · about ≤ 139 · name ≤ 25Profile endpoints
  • Don't add strangers to groups

    Share an invite link. If someone's privacy blocks an add, you get an invite code for them. Send that.

    items[].error privacy_restricted → inviteCodeGroups
  • Turn pacing on before you reach out

    Pacing is off by default. Turn on the recommended values before bulk, cold or marketing sends, and raise them only for traffic to people who expect it.

  • One number per use case

    Keep support, sales and alerts apart. A bad week for one doesn't take the others with it.

A warm-up to start from

A suggestion, not a WhatsApp limit. New conversations you start, per number.

Days 1–3
10 to 20 a day
Days 4–7
Up to about 50 a day
Week 2
Up to about 100 a day
After that
Grow only while replies keep up

You can also slow a new number down while it warms up, and put it back later.

PATCH /v1/accounts/{id} { "pacing": { "messagesPerMinute": 6 } } · null resets

03/Watch the signals

When it starts going wrong

Fewer replies and more blocks tend to come first. If people stop answering a message, stop sending it.

If WhatsApp acts on the number, you'll get a webhook. The account's disconnectReason says which.

account.failed · disconnectReason temporary_banaccount.disconnected · disconnectReason logged_out

What to do

  1. 01Stop sending from that number. Pause your queue, not only the API calls.
  2. 02Don't re-link it in a loop. Each new attempt is one more signal.
  3. 03If it's a temporary ban, wait until it ends before you link again.
  4. 04Look at what you sent in the last few days: who, how many, what text.
  5. 05When it's back, start again at the warm-up pace.

04/What we can't promise

No guarantee. wuapi links your number as a device and doesn't control WhatsApp, which can restrict any number. The proxy removes a network signal. It does nothing about what you send or how people react to it.

Support can help you read what happened and what to change. It can't undo it.