# Coexistence: WhatsApp API and the Business app

URL: https://wa.genuka.com/en/docs/guides/coexistence
Language: English

> Keep the WhatsApp Business app on your number while using the API: requirements (2.24.17+), onboarding steps, what syncs and the limits.

Yes, you can use the WhatsApp API without leaving the WhatsApp Business app: that is Meta's
coexistence. With the app on version 2.24.17 or later, you connect the same number to Genuka WA,
keep replying by hand from the phone and send at volume through the API. New messages in
one-to-one conversations show up on both sides.

*Last updated October 8, 2026*

## Can my number use coexistence?

It depends on which app the number runs on today. Meta does not register a number already in use
on WhatsApp on the Cloud API unless it is deleted first
([Meta, Business phone numbers](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers));
coexistence is the exception built for the WhatsApp Business app
([Meta, Onboard WhatsApp Business app users](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)).

| Your number today                               | What to do                                                                                                                                           |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| On the **WhatsApp Business** app                | Delete nothing. Update the app and connect the number: Meta offers coexistence during signup, the app keeps working and your conversations are kept. |
| On **WhatsApp** (the regular app, not Business) | Free it first: delete the WhatsApp account on that number, or connect another number. Coexistence only covers the WhatsApp Business app.             |
| On no WhatsApp app                              | Nothing to free: it is registered directly on the Cloud API, with no app.                                                                            |

> [!WARNING]
> **Never delete a WhatsApp Business account to connect**
>
> Deleting the Business app account destroys its history, and it is pointless: coexistence exists
> precisely so that number can stay as it is.

## What you need before you start

* **A Facebook account.** Meta asks you to sign in with it; a personal account is fine.
* **The WhatsApp Business app on version 2.24.17 or later**
  ([Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)),
  on the phone that holds the number, **within reach**: the connection is confirmed from the app.
* To send templates afterwards, **a payment method on your WhatsApp Business account**: Genuka is
  a Tech Provider, so Meta bills your account directly
  ([Meta, Partners](https://developers.facebook.com/documentation/business-messaging/whatsapp/solution-providers/overview)).

## How do I connect a coexistence number to Genuka WA?

1. ### Open the connect link

   From your dashboard, on the **Numbers** page (or **Connect link** if you manage clients), or from
   your public link `/connect/{your-slug}` — see [Connecting a number](https://wa.genuka.com/en/docs/onboarding). Genuka
   first shows a short checklist: Facebook account, number on WhatsApp Business (not regular
   WhatsApp), phone in hand with the app up to date. Tick all three, then click
   **I'm ready — open Meta**.

2. ### Pick your existing WhatsApp Business app

   In Meta's window, sign in with Facebook and pick or create the business portfolio. Genuka opens
   Embedded Signup with the WhatsApp Business app onboarding option, so Meta offers to connect your
   existing account rather than create a new one. Enter the number: Meta's window then waits for a
   verification code.

3. ### Confirm from the phone

   In the WhatsApp Business app, a message arrives from the official "Facebook Business" account. Tap
   **Connect**, then **Connect to the Business Platform**, then **Confirm** — that is the step where
   Meta offers to share your chat history (Genuka WA does not import it yet, see below). Copy the
   verification code.

4. ### Finish in Meta's window

   Paste the code and complete the flow. Back on Genuka, the connection is finalized: the account
   and the number appear in your workspace, the WhatsApp account is subscribed to webhooks, and the
   number is not re-registered on the Cloud API — Meta registers it itself under coexistence.

Once connected, call `GET /api/v1/numbers?refresh=true` once. Genuka then reads the number from
Meta and records its coexistence mode; without that call, the default list
(`"source": "database"`) still shows `coexistence: false` for a number that has just connected.

```bash title="GET /api/v1/numbers?refresh=true"
curl "https://wa.genuka.com/api/v1/numbers?refresh=true" \
  -H "Authorization: Bearer $GENUKA_WA_API_KEY"
```

```json title="Response (excerpt)"
{
  "data": [
    {
      "id": "con_1",
      "displayPhoneNumber": "+237 6 90 00 00 01",
      "platformType": "SMB_APP",
      "coexistence": true,
      "messagesPerSecond": 20,
      "status": "connected",
      "metaStatus": "CONNECTED",
      "refreshed": true
    }
  ],
  "source": "meta"
}
```

The full response also carries, for each number, the health `alerts` detected during the read,
and a `limits` object with the reference throughputs. A refresh queries Meta number by number and
stops at 25 numbers per call: beyond that, narrow it with `?companyId=`.

## Is my app history imported?

Not for now. Meta only sends the app's contacts and history if the provider asks for them, within
the 24 hours after you connect; past that, the number has to be disconnected and the flow run
again
([Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)).
Genuka WA does not make that request yet. In practice:

* **Your past conversations stay in the app**, untouched, but do not show up in Genuka WA. Meta
  allows importing one-to-one conversations from the last 180 days, without groups (same page);
  Genuka WA does not do it today.
* **Everything after you connect does come through**: messages received on `message.received`,
  messages sent through the API, and the ones you type in the app (see below).
* **Contacts added or changed in the app afterwards** are announced by Meta by webhook (same
  page); Genuka relays them on `coexistence.contacts_synced` — see [Webhooks](https://wa.genuka.com/en/docs/webhooks).

## What syncs, and what does not?

Per Meta's coexistence page, with what Genuka WA does with it today:

| Feature                                           | In the app after connecting                                                                                 | Through the API                                                      |
| ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| One-to-one chats                                  | Keep working; editing or revoking a message is supported                                                    | New messages mirrored both ways; earlier history not imported yet    |
| Contacts                                          | Unchanged                                                                                                   | No initial import; later additions and changes are announced by Meta |
| Groups                                            | Unchanged                                                                                                   | Not synced                                                           |
| Disappearing messages                             | Turned off in one-to-one chats                                                                              | No                                                                   |
| View once messages                                | Disabled in one-to-one chats                                                                                | No                                                                   |
| Live location                                     | Disabled in one-to-one chats                                                                                | No                                                                   |
| Broadcast lists                                   | Disabled; existing lists become read-only                                                                   | No                                                                   |
| Voice and video calls                             | Unchanged                                                                                                   | No                                                                   |
| Catalog, orders, status                           | Unchanged                                                                                                   | No                                                                   |
| Quick replies, labels, away and greeting messages | Unchanged                                                                                                   | No                                                                   |
| Linked devices (WhatsApp Web, etc.)               | Unlinked when you connect, to be relinked afterwards; WhatsApp for Windows and for WearOS are not supported | —                                                                    |

## What changes for API sends?

* **Throughput is fixed at 20 messages per second** on a coexistence number, against 80 by
  default on the Cloud API
  ([Meta, coexistence](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/),
  [Meta, Throughput](https://developers.facebook.com/documentation/business-messaging/whatsapp/throughput)).
  Genuka paces your [campaigns](https://wa.genuka.com/en/docs/guides/campaigns-api) to it once the number is recorded as
  coexistence (the `?refresh=true` call above). A launch is also time-bound: keep campaigns to a
  few hundred recipients (see the limitations in the campaigns guide).
* **Messages sent from the app stay free; messages sent through the API follow Cloud API
  pricing** ([Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)).
* **What you type on the phone shows up in Genuka.** Meta forwards those messages (the "echoes");
  Genuka files them on the conversation, labeled "Sent from the WhatsApp Business app". They use
  nothing from your plan and are left out of delivery statistics, which only count what the API
  sent: no delivery receipt ever follows them. Webhook subscription:
  `coexistence.message_echoed`.
* **Meta's limits apply as anywhere else**: approved templates outside the 24-hour window, the
  business portfolio's messaging limit, the per-user marketing limit.

## How do I disconnect the API from the app?

Disconnecting happens in the app, not through the API: **Settings > Account > Business Platform**,
then **Disconnect Account** (labels as in Meta's documentation). Meta then sends an
`account_update` webhook carrying the `PARTNER_REMOVED` event
([Meta](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)).

On Genuka, the number then moves to `disconnected` and the API can no longer send from it. Nothing
is deleted: messages, templates and statistics stay attached to the number. Going through the same
connect link again puts it back in service on the same record, without using a new slot in your
plan.

## FAQ

### Do I have to delete my WhatsApp Business account to use the API?

No. That is the whole point of coexistence: the app keeps working on the same number. Only a
number used on regular WhatsApp has to be freed before connecting.

### Do messages sent from the phone count against my Genuka plan?

No. Only sends made through the API or a campaign use your plan's message allowance. Messages
typed in the app are synced so the conversation is complete, without being counted.

### What if my app is older than 2.24.17?

Update it before opening Meta's window. Meta requires version 2.24.17 or later to offer
coexistence.

### Can I keep using WhatsApp Web?

Yes, once you relink it: linked devices are unlinked when you connect and can be linked again,
except WhatsApp for Windows and for WearOS.

### How many messages per second can I send under coexistence?

20, whatever your tier at Genuka or at Meta. It is a ceiling Meta sets for numbers shared with the
app.

## Sources

* Meta — [Onboard WhatsApp Business app users](https://developers.facebook.com/documentation/business-messaging/whatsapp/embedded-signup/onboarding-business-app-users/)
* Meta — [Business phone numbers](https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers)
* Meta — [Throughput](https://developers.facebook.com/documentation/business-messaging/whatsapp/throughput)
* Meta — [Partners (Tech Providers and Solution Partners)](https://developers.facebook.com/documentation/business-messaging/whatsapp/solution-providers/overview)
* Genuka — [SDK coexistence guide](https://wa.genuka.com/sdk/coexistence)
