#2261·waha

[GOWS/NOWEB/WEBJS/WPP] - sendPoll returns 201 but the poll is never delivered (ack stays 0/PENDING); sendText to the same chat works

Author: mhmdaaCreated Sep 8, 2026Updated Sep 11, 2026

Describe the bug

POST /api/sendPoll to a direct chat returns 201 with a message id, but the poll is never delivered: the recipient (Android) never sees it, the sender's primary phone never shows it either, and the message ack stays 0 / PENDING indefinitely. POST /api/sendText to the same chat, from the same session, is delivered and read within a second.

Reproduced today on a fresh install with all four engines (GOWS, NOWEB, WEBJS, WPP), each with a freshly created session and a fresh QR scan. Same result every time.

Version

json
{
  "version": "2026.8.2",
  "engine": "GOWS / NOWEB / WEBJS / WPP (all four tried)",
  "tier": "CORE"
}

Docker image devlikeapro/waha:latest, pulled 2026-09-08. Host: Ubuntu 24.04 VM (Proxmox), Docker Engine 28.

Steps

  1. docker compose up -d with WHATSAPP_DEFAULT_ENGINE=GOWS (later NOWEB, WEBJS, WPP - container recreated and a new session created for each engine).
  2. Create session via dashboard, scan QR from an Android phone (Israel, +972). Session reaches WORKING.
  3. POST /api/sendText to [email protected] → delivered and read immediately (ack 3). ✔
  4. POST /api/sendPoll to the same [email protected]:
json
{
  "session": "poc",
  "chatId": "[email protected]",
  "poll": { "name": "Confirm appointment tomorrow 10:00?", "options": ["Confirm", "Cancel"], "multipleAnswers": false }
}

Also tried with Arabic text (same result) and with English text (same result). 5. Response is 201 with an id. Recipient never receives anything. ack stays 0 after several minutes.

Expected behavior

The poll is delivered to the recipient like a text message (ack 2/3), and poll.vote arrives when they vote.

Requests - Responses

GOWS / NOWEB response to sendPoll:

id        : [email protected]_3EB0633551A37C06632289
fromMe    : True
source    : api
ack       : 0
ackName   : PENDING
_data     : { status=PENDING, messageTimestamp=1788862578 }

WEBJS response (note type=poll_creation, messageSecret present, still never delivered):

id        : true_2089XXXXXXXXXXX@lid_3EB0628C6D6576DDC656A1
type      : poll_creation
ack       : 0
from      : 1685XXXXXXXXXXX@lid
to        : 2089XXXXXXXXXXX@lid
pollName  : ...
pollOptions : [ {name=..., localId=0}, {name=..., localId=1} ]
allowMultipleAnswers : False
messageSecret : {159, 241, 234, 172...}

WPP response:

id : true_2089XXXXXXXXXXX@lid_3EB0808325C1CE0DD12F87   ack : 0   ackName : PENDING

GET /api/{session}/chats/{chatId}/messages minutes later still shows ack: 0 for every poll, while the text messages in the same chat show ack: 3.

Docker Logs

No error is logged around the sendPoll call on any engine. Example (NOWEB):

[13:16:19.074] INFO (7): request completed {"req":{"method":"POST","url":"/api/sendPoll"},"res":{"statusCode":201},"responseTime":704}

(The only error in the logs is the usual stream:error code 515 right after pairing, before the session reaches WORKING.)

Additional context

  • Direct chat (not group, not channel). Recipient is an Android phone with only the phone linked (no WhatsApp Web).
  • The same poll to the same recipient sent through another provider's fork (GREEN-API) on the same day is delivered and votes arrive, so the phone/account itself can receive polls.
  • Looks related to #1376 (GOWS/NOWEB "waiting for this message") but here nothing appears on the recipient side at all, and it also happens on WEBJS and WPP.
  • Happy to run any diagnostic build or provide more logs.