Inside wuapiDeep dive

Linked device or Cloud API, and which one you need

The real difference between a WhatsApp number linked as a device and the official Cloud API, on templates, groups, contract and who decides the rules.

wuapiInside wuapi8 min read
Two columns: a linked device, linked by QR with no templates and a price per number, against the official Cloud API with business verification, approved templates, a 24 hour window and a fee per message.[LINKED DEVICE]your numberlink by qr codeany message, any timegroups you moderatebilled per number[CLOUD API]business verificationapproved templates24h customer window8 people per groupbilled per message[INSIDE WUAPI]

There are two ways to put a WhatsApp API in your product and they are not competing versions of the same thing. One is a contract with the platform vendor, with templates and an approval process. The other is your own number, behaving as a second device. Picking wrong costs you a rewrite, so this post is the difference, stated plainly.

#The difference in one paragraph

The official Cloud API is a business relationship. You apply, you verify your business, you get templates approved, you send inside message windows, and you pay per message. A linked device is a client. You connect your own number the way a laptop connects, and you send what you send, paced so the number behaves like a person.

Everything else in this post is a consequence of that one sentence.

a linked devicethe official Cloud API
who you are to WhatsAppa linked device, like WhatsApp Weba registered business
applicationnonebusiness verification, two-step verification, an approved name
waiting periodnoneat least 30 days on the Cloud API
message templatesnone, and none neededrequired for anything outside a customer service window
message windownot a concept24 hours, opened by the customer
groupsfull control, add and removeinvitation links only, 8 participants, no removal
what you can sendtext, media, polls, contacts, location, calendar events, status, channelstemplates and approved message types
who decides the rulesWhatsApp, the same as for your phoneWhatsApp, through a business relationship
who you are billed bythe provider you chosethe platform vendor, per template message

#Templates are the dividing line

This is the practical question, and it decides more integrations than anything else on the page.

The official platform requires an approved template for any message a customer did not ask for. You write the copy, you submit it, you wait, and you maintain the catalogue. Marketing, order updates and reminders each have their own approval and their own rules.

A linked number has no template system, because it is not a business sender. It sends what you send it.

what you want to dolinked deviceofficial Cloud API
reply to someone who wroteyesyes, inside the window
send an order update you promisedyesapproved template
send a campaignpossible, at a paceapproved template, campaign rules
send a receipt for an old orderyes, no windownot without a template
change the wording lateryes, freelyedit and re-approve the template

If your product sends transactional messages inside a 24 hour window, both work. If it sends anything outside one, the official platform is the only one designed for it, and it comes with the process that implies.

#Groups, and the eight participant cap

The official group API is restricted to Official Business Accounts and is capped at 8 participants, with groups created by invite link and no ability to remove a member. A linked number is a full client and has none of those limits.

Group or community has the eligibility list in full. The short version: if you need to moderate a group, the official API cannot do it.

Choose the official platform when
You need approved templatesAnything outside a 24 hour window
You need a business relationshipA contract, and Meta as your counterparty
Choose a linked device when
You want your own numberLinked by QR or pairing code
You need groups you can moderateAdd and remove, no 8 person cap
Not a real option for either
Cold bulk to bought listsBoth platforms are the wrong tool for this

Where each model fits in a product

#What it costs, structurally

Not the prices, which change and which we do not quote for other providers. The structure.

The official platform bills per message. It used to bill per 24 hour conversation; since July 2025 it charges each delivered template message, at a rate set by the category (marketing, utility, authentication) and the customer's country. Replies inside the customer service window have been free, and from October 1, 2026 they are charged too. The Cloud API rate table has every country's rate, with a calculator.

A linked device bills per account. What the number sends does not change the bill, and the pace is a property of the account rather than of your invoice.

This is not a small difference in modelling. Per message means your bill scales with your customers' message volume and with their geography. Per account means your bill scales with how many numbers you have connected, and you can forecast it exactly.

// Per account: predictable from the number of numbers you connect.
import { monthlyAccountsCents, formatCents } from "./pricing"
console.log(formatCents(monthlyAccountsCents(50))) // one number, one line

// Per message: depends on volume and on where the customers are.
console.log("You cannot forecast this from the account count alone.")

#Who you are depending on

With the official platform, WhatsApp is your counterparty. It sets the pricing, the templates and the policy, and it can change them.

With a linked device, WhatsApp is still the party that decides what a number may do, because it decides that for your phone too. What changes is the commercial layer: your provider is an independent service, not the platform vendor. That is stated in the terms and in the footer, not buried.

#The migration question

Neither model moves your numbers to the other. A session linked as a device cannot be handed to the official platform, and a number registered as a business cannot be quietly relinked. A change of model means re-linking or re-verifying, and a re-link is a moment where a customer has to scan something again.

So this is a decision to get right at the start, not something to reverse when the roadmap changes.

#A rough decision path

  1. Do you send anything outside a 24 hour customer service window? If yes, you need templates, so the official platform.
  2. Do you need groups you can add to and remove from? If yes, a linked device, because the official group API cannot.
  3. Is your cost per message variable, or per number? Whichever answer your finance team prefers, pick the model that matches it.
  4. Do you want a contract with the platform vendor? If the answer is no, a linked device.
  5. Is the answer a mix? Plenty of products run both: the official platform for the transactional stream, and a linked number for the conversational one.

#What to do when you have decided

If it is a linked device, the next step is the WhatsApp QR code, which is where every linked number starts. Then read how to choose a WhatsApp API provider, because the provider is the layer that decides your operational life.

If it is the official platform, you are looking for a registered business solution provider, and you should budget for the application and the template process as part of your timeline rather than as an exception to it.

#What each model is actually for

Both models are good. The mistake is picking one because it is what the last person you asked used, so here is the shape each one fits.

A linked device fits a conversation. Support, a booking flow, an internal tool, an agent that answers a queue. In all of these the number writes to people who wrote to it, the pace is never the bottleneck, and the thing you care about is that the number stays up. That last point is the real one: a number that holds real conversations tends to look like a person, because it is.

The official platform fits a broadcast. Order updates, shipping notices, a campaign, anything that starts with you. The template catalogue is not overhead in that case, it is the mechanism that makes the send legal and deliverable, and the 24 hour window is not a constraint, it is the boundary between a notification and a marketing message.

A conversationThey wrote first, you answer
A linked devicePaced per account, billed per number
A broadcastYou start it, they receive it
The official platformApproved templates, billed per message
A conversationA linked device
A broadcastThe official platform

Two models, two jobs

Most products have both. An order update is a broadcast even if the customer is a known contact, and a support thread that runs past 24 hours stops being a conversation and becomes a message you need a template for. Teams that pick one model usually end up running the other one anyway, six months later, in a worse position because they had not planned for it.

#The four questions that settle it

  1. Does anything you send start with you? If yes, and it goes outside a 24 hour window, you need templates, so the official platform.
  2. Do you need to remove people from a group? If yes, a linked device, because the official group API cannot do it at all.
  3. Does your finance team prefer a forecast or a report? Per account is a forecast from a number you already know. Per message is a report about volume you did not choose.
  4. Do you want a contract with the platform vendor? If no, a linked device, and the terms page should say so plainly.

If the answers split, you are looking at a mix rather than a decision, and that is a legitimate outcome rather than a failure to choose.

#What the decision costs you to reverse

Both models are sticky in a way that is worth pricing before you commit, because the cost is not the invoice, it is the migration.

A linked session cannot be transferred. If you move from a linked device to the official platform, every number has to be registered as a business number. There is no export of a session, and the number may have to be re-verified. Every customer with a linked number has to be told.

A business registration cannot be quietly relinked. In the other direction, unlinking a number that is registered as a business is a deliberate act with a consequence, and the number's history on the platform is not yours to keep.

History is not portable either way. Messages you stored in your own database stay, and the conversations that were never stored do not come across. If you were relying on the platform's copy of a conversation, that copy is not part of the migration.

The practical consequence is that this is a decision for the first month rather than the first year, and it is worth an hour of reading before you write the integration. A team that picks the right model once spends an hour. A team that picks the wrong one spends a quarter, and tells their customers about it.

#What neither model gives you

Worth being explicit, because both vendors are quiet about the same list.

  • No guarantee about a number. Either platform can restrict an account, and neither has published the rules that decide it.
  • No way to bulk message people who did not ask. Both approaches are for people who expect the message.
  • No way around the pace. It is a property of the platform, not of your integration, and it exists in both models.
  • No API for reading a contact's other conversations. You see the chats on numbers you have linked, and nothing else.
  • No guarantee of message ordering across numbers. Two accounts sending to the same contact are two sessions, and the order is theirs to decide.

The last one surprises people building multi-tenant products: if two of your customers' numbers message the same person, you cannot order those sends globally, and a user who expects a single timeline has to build the ordering themselves.

#Questions people ask

What is the difference between the WhatsApp Cloud API and a linked device?

The Cloud API is a business relationship with the platform vendor: you verify your business, get templates approved, send inside 24 hour message windows and are billed per message. A linked device is your own number connected like WhatsApp Web, sending what you send it, paced per account and billed per number.

Do I need approved message templates?

Only on the official platform, where any message a customer did not ask for needs an approved template. A linked number has no template system because it is not a business sender, so it can send a receipt for an order from last week without an approval process.

Can I switch from the Cloud API to a linked device later?

Not without re-linking every number. A session linked as a device cannot be transferred to the platform vendor, and a business-registered number has to be unlinked first. That is a customer-visible step, because somebody has to scan a code again, so it is worth deciding before you build rather than after.

Which is cheaper, per message or per account?

It depends on your volume and geography, not on the rate. Per message scales with how much your customers message and where they are. Per account scales only with how many numbers you connect, which is exactly forecastable. A text-heavy product usually prefers per account.

Does an independent provider avoid WhatsApp's rules?

No, and any provider claiming otherwise is not telling the truth. WhatsApp decides what any account may do, including the one on your phone. Independence is about the commercial layer: your contract and your invoice are with the provider, so the platform's commercial changes do not arrive on your bill without warning.

#Where to go next

The WhatsApp QR code is the first step if you have chosen a linked device. WhatsApp API pricing is about the per-account unit in detail, and choosing a WhatsApp API provider is the checklist to run once you know which model you want.

wuapi is an independent service. It is not affiliated with, endorsed or sponsored by WhatsApp. WhatsApp is a trademark of its respective owner.

03/What to read next

Every post

Link a number and send your first message.

One REST call, a typed SDK, and webhooks signed with HMAC-SHA256 over the raw body. No per-message fees.

The whole API is in the docs, and the docs are in one file if you are handing the work to a coding agent.

All posts · openapi.json