Create a QuickLink
You can create the same hosted link from three places.- Console
- API
- Customers
Open a project, go to Numbers, select New number, then choose
Send a QuickLink. Copy the URL, share it, or show it as a QR code for a
phone camera. Console shows the link moving from Opened to Linked to
Connected, and adds the number to the list when the recipient confirms.To pair a phone that is with you, choose Link a real number now instead.
Console creates a QuickLink and runs its hosted pairing flow inside the dialog.
Request fields
Request values override the saved settings for the business name, theme,
accent, methods, and history sync. Omitted fields use the saved settings, then
the standard defaults. The hosted page also shows the saved headline,
description, success message, logo, and support, privacy, and terms links.
What the recipient sees
The hosted page shows your business name, logo, and accent, and offers the enabled methods:- Scan QR code on a laptop or a second device. The page refreshes the code automatically until WhatsApp links.
- Enter a code on the phone itself. The recipient types their number, receives a one-time code, and enters it under Link with phone number instead in WhatsApp.
Track and finish the connection
Use either of these paths to learn the outcome. Callback URL. When the QuickLink was created withcallbackUrl, the page
returns the recipient there after confirmation or cancellation:
GET /messaging/sessions/{session} or the session webhooks.
Status polling. GET /messaging/quicklinks/{id} returns the current status for
the caller that created the link:
An expired link returns
404.
Cancel a QuickLink
DELETE /messaging/quicklinks/{id} invalidates a pending link and removes its
session. Connected links cannot be cancelled; remove the session instead.
Console-created links can be inspected and cancelled only by the member who
created them.
Saved settings
In the Console, open team or project Settings → QuickLink. You can:- enable or disable QuickLinks for the scope;
- choose the offered methods and which one opens first;
- write the headline, description, and success message the person reads;
- add a support link, and privacy and terms links for the confirmation step;
- upload a logo, reuse the team logo or the project icon, and set the accent, theme, corner shape, and footer;
- add allowed callback URLs and choose the chat-history behavior.
GET /platform/quicklink and saves
changes with PUT /platform/quicklink. Send projectId to manage one project; omit
it to manage the team defaults. Reads return null when nothing has
been saved for that scope. Team keys need quicklink:manage; project
tokens use the same permission inside their project; Console callers use their
active membership.
PUT /platform/quicklink accepts any subset of these fields. Send null to clear an
optional text or link field.
Responses include
logoUrl, a short-lived read URL for the saved logo, or
null.
Send a JSON object no larger than 64 KiB in the request body. The API returns
400 for malformed JSON, arrays or scalar bodies, unknown fields, unsupported
enum values, fields with the wrong type, and a defaultMethod that is not
enabled. An omitted body is an allowed no-op. The previous /platform/widget path
and its modesAllowed, allowedOrigins, and colors fields are gone.
Security model
Team keys and project tokens use QuickLink to connect numbers. Direct QR and pairing-code retrieval requires explicit access; standard credentials receive403. Open the QuickLink URL to complete pairing.
- The hosted page never receives an team key, project token, or client token. The URL token authorizes only the pairing page routes, including the page logo.
- Every link expires after 15 minutes, or the lifetime you set up to one hour, and stops working once a number connects or the link is cancelled.
- Callback URLs are allowlisted per scope and matched exactly.
- Customer pairing links can require one expected phone number; a mismatch is rejected before ownership is assigned.
- Pairing page responses are never cached, and the page sends no referrer.
Where to go next
Sessions
Manage the connected number after it lands in your project.
Customer pairing links
Assign connected numbers to Customers with durable, revocable links.
Webhooks
Observe the resulting session lifecycle.
Client tokens
Browser-safe credentials for messaging, separate from pairing.