Get QR Image

Returns a base64-encoded PNG image of the WhatsApp QR code for easy rendering in web and mobile applications.

POST
https://api.wawp.net/v2/auth/qr-image?instance_id=Your_Instance_ID&access_token=YOUR_ACCESS_TOKEN

Authentication Required

Login to swap the placeholders with your real Instance ID and Access Token.

Log In
Test /v2/auth/qr-image endpoint
POSTGET

No query parameters required

This endpoint doesn't expect data in the URL.

Best practices

  • Embed directly in your frontend without saving to disk for better security.

  • Refresh the image every 30 seconds to avoid showing expired codes.

  • Do not cache this response; always fetch a fresh image.

Request Parameters

Configure the parameters required to interact with this endpoint. All query and body arguments are listed below with their details.

Request Body

Sent as a JSON object
string

The 12-character ID of the instance

Example:
string

Your API Access Token

Example:

Request Samples

Use these ready-to-go code snippets to integrate our API into your project quickly and efficiently. Choose your preferred language and library.

1const baseUrl = "https://api.wawp.net";
2const endpoint = "/v2/auth/qr-image";
3const params = new URLSearchParams({
4 "instance_id": "Your_Instance_ID",
5 "access_token": "YOUR_ACCESS_TOKEN"
6}).toString();
7
8
9fetch(`${baseUrl}${endpoint}${params ? '?' + params : ''}`, {
10 method: "POST",
11 headers: { "Content-Type": "application/json" },
12
13})
14 .then(async (response) => {
15 if (response.ok) {
16 const data = await response.json();
17 console.log("Success:", data);
18 return data;
19 }
20
21 // Error Handling
22 if (response.status === 400) {
23 console.error("Error 400: Bad Request - Missing Required Parameter(s)");
24 }
25 if (response.status === 400) {
26 console.error("Error 400: Bad Request (XML Format)");
27 }
28 if (response.status === 400) {
29 console.error("Error 400: Bad Request (Plain Text)");
30 }
31 if (response.status === 401) {
32 console.error("Error 401: Unauthorized - Invalid or Missing Access Token");
33 }
34 if (response.status === 401) {
35 console.error("Error 401: Unauthorized (XML Format)");
36 }
37 if (response.status === 404) {
38 console.error("Error 404: Not Found - Session Does Not Exist");
39 }
40 if (response.status === 404) {
41 console.error("Error 404: Not Found (XML Format)");
42 }
43 if (response.status === 500) {
44 console.error("Error 500: Internal Server Error - Unexpected Failure");
45 }
46 if (response.status === 500) {
47 console.error("Error 500: Internal Server Error (HTML)");
48 }
49 if (response.status === 502) {
50 console.error("Error 502: Bad Gateway - Connection Failed to Upstream");
51 }
52 if (response.status === 502) {
53 console.error("Error 502: Bad Gateway (XML Format)");
54 }
55 if (response.status === 422) {
56 console.error("Error 422: Unprocessable Entity - Session Status Mismatch");
57 }
58
59 const errorText = await response.text();
60 console.error(`Error ${response.status}: ${errorText}`);
61 })
62 .catch((error) => console.error("Network Error:", error));
Interactive Samples
Ln 62, Col 1javascript

Expected Responses

Explore all possible responses and outcomes from the server. We have documented each status code with data examples to make success and error handling easier.

Success - QR Image URL
Type:
application/json
string *

Example

{
"qr": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgA..."
}
Bad Request - Missing Required Parameter(s)
Unauthorized - Invalid or Missing Access Token
Not Found - Session Does Not Exist
Unprocessable Entity - Session Status Mismatch
Internal Server Error - Unexpected Failure
Bad Gateway - Connection Failed to Upstream
Previous TopicGET QR raw
Next TopicRequest Code (Phone Login)

Command Palette

Search for a command to run...