Skip to main content
GET
Generate a WhatsApp click-to-chat QR code

Authorizations

Authorization
string
header
required

Dashboard JWT token from Clerk

Headers

X-Test-Mode
enum<string>

Sandbox opt-in for Clerk-session-authenticated requests. Set to true to route the call through the test-mode pipeline: no real provider delivery, no credits deducted, response meta.test_mode: true. Ignored for live API keys (dv_live_sk_*) — server-to-server clients must use a test-prefixed key (dv_test_sk_*) to exercise sandbox. Test-prefixed keys unconditionally enable sandbox regardless of this header.

Available options:
true,
false

Query Parameters

phone
string
required

Destination phone number in international format (e.g. +15551234567). Rejected with 400 when it is not a dialable international number.

Required string length: 1 - 32
message
string

Optional pre-filled message body for the deep link (max 1024 chars). URL-encoded into the encoded wa.me / sms: payload.

Maximum string length: 1024
size
integer
default:300

Image edge length in pixels (50–1024, default 300). The output PNG is always square.

Required range: 50 <= x <= 1024
format
enum<string>
default:png

png (default) returns raw image/png bytes; json returns the standard envelope with data.qr_data_url as a base64 data URL.

Available options:
png,
json

Response

Rendered QR code as PNG image bytes (content-type image/png). Pass format=json to receive a base64 data-URL in the standard { data, meta } envelope instead.

The response is of type file.