Skip to main content
GET
Poll while someone scans
The one call to poll while a QR is on screen. It returns the current connection state and, while still unconnected, the current QR.

How to use it

1

Poll about every 2.5 seconds

The instance endpoints allow 120 requests a minute, which is comfortable for this.
2

Refresh the QR you are showing

Each response carries the current QR — the code rotates while nobody scans it, so keep repainting from the latest response.
3

Stop when connected is true

The number is paired and ready to send. phone_number tells you which number was linked.
4

Start over if exhausted is true

The pairing attempt has run out of QR codes and no further code can connect. Call GET /v1/instances/{id}/qr to begin a new attempt.

Fields worth knowing

integer | null
How many QR codes this pairing attempt has issued so far.
integer
How many it may issue before the attempt is exhausted.
boolean
true once the attempt is spent. No QR is returned in that case — showing the last one would be showing a code that can never pair.
boolean
Present and true when the live check could not be completed on this poll. Not an error — keep polling. It means “we could not confirm anything this tick”, so keep the QR on screen rather than showing a failure.
string
Diagnostic only — which source reported the connection. Safe to ignore.

Example

Node.js — poll until connected
If the same WhatsApp number is already connected on another of your instances, this returns 409 number_already_connected. The session already running keeps working — disconnect it there first, or scan a different number.

Authorizations

apikey
string
header
required

Your API key, sent in an apikey request header. Never in the URL, never as a Bearer token.

Path Parameters

id
string<uuid>
required

The instance_id of one of your numbers.

Response

Current scan state.

success
boolean
data
object
request_id
string<uuid>