What it looks like
Every send to that number starts returning:409. Your key is fine, your instance_id is fine, your request is fine. The phone’s link to WhatsApp has dropped.
Why it happens
The connection works like WhatsApp Web: your number is a linked device. Links drop for ordinary reasons, none of which are the API’s doing.- The phone was off, out of signal or without internet for a long stretch.
- Someone opened WhatsApp → Linked devices on the phone and removed the device.
- WhatsApp has a limit on linked devices, and linking a new one pushed this one off.
- The phone was reset, or WhatsApp was reinstalled.
- WhatsApp ended the session for its own reasons.
The fix: re-scan the same number
1
Open your numbers screen in the portal
The number will show as disconnected.
2
Press Reconnect on that number
A fresh QR appears.
3
Scan with the same phone
WhatsApp → Settings → Linked devices → Link a device.
4
Done
The status returns to connected and sending resumes immediately.
Nothing in your code changes. The
instance_id is the same. The API key is the same. No redeploy, no configuration update, no new number to tell your customers about.What NOT to do
Handling it in code
Treat409 instance_not_connected as pause and alert, not as a transient error.
Node.js
- Pause the number, not the whole system — your other numbers are unaffected.
- Alert a person. Nothing else will fix this.
- Keep the message. Once the number is back, send it. A dropped connection should not mean a lost order confirmation.
Checking before you send
Cheap, and worth doing before a batch run:Check every number at once
connected on each entry. This returns the stored status, so it is fast and free.
To force a live check of one number — after a 409, say — use:
Keeping connections stable
- Use a dedicated phone or number for the integration, ideally one that stays charged, online and out of everyday use.
- Do not clear linked devices on that phone as part of routine housekeeping.
- Watch how many devices are linked. WhatsApp caps them, and adding a new one can evict yours.
- The same number on two of your instances is refused. You get
409 number_already_connected, and the session that was already running keeps working — that is deliberate, so a stray second scan can never knock a working number offline.