# Account and device status

### Channel Statuses in Whapi.Cloud

Whapi.Cloud API channels can have different statuses during their lifecycle. Here’s what each status means:

✅ **AUTH** (Authorized): Your channel is fully connected and operational. You can send and receive messages.

📷 **QR** (Waiting for QR code scan): The channel is waiting for the QR code to be scanned or pairing to be completed. Make sure to scan the code promptly — if it expires, refresh the page or restart pairing.

⏳ **INIT** (Initialization): Temporary state of channel initialization on the server. If the channel remains in INIT for more than 40–50 seconds, something likely went wrong. Please contact support.

😴 **LAUNCH** (Connecting / Inactive): The channel is attempting to establish a technical connection to the WhatsApp account. This usually takes a few seconds. If it lasts longer, it may indicate a connection issue (e.g., number is blocked or session failed). If the status doesn’t change, contact support.

⛔️ **STOP** (Stopped): The channel is deactivated. Possible reasons: -End of trial or subscription; -Manual deactivation; -Billing or technical issue; Check your subscription status or contact support for assistance.

⚠️ **SYNC\_ERROR** (Synchronization issue): There is a sync failure between your WhatsApp account and the API. You can still send messages, but **GET requests (e.g., to fetch chats or messages)** will not work. To resolve this, log out the channel and reconnect it. Read more: [Channel status “SYNC\_ERROR”](/help-desk/troubleshooting/channel-status-sync_error.md)

***

### Webhook to change channel status

The health object contains information about the uptime of the channel and the status of the channel. Sent on event "`channels.post`"

```
{
  "health": {
    "start_at": 1713774883,
    "uptime": 1,
    "status": {
      "code": 1,
      "text": "INIT"
    },
    "version": "1.8.3-74-gf7df472"
  },
  "event": {
    "type": "channel",
    "event": "post"
  },
  "channel_id": "MANTIS-M72HC"
}
```

```
{
  "health": {
    "start_at": 1713774883,
    "uptime": 77,
    "status": {
      "code": 2,
      "text": "LAUNCH"
    },
    "version": "1.8.3-74-gf7df472"
  },
  "event": {
    "type": "channel",
    "event": "post"
  },
  "channel_id": "MANTIS-M72HC"
}
```

```
{
  "health": {
    "start_at": 1713774883,
    "uptime": 78,
    "status": {
      "code": 3,
      "text": "QR"
    },
    "version": "1.8.3-74-gf7df472"
  },
  "event": {
    "type": "channel",
    "event": "post"
  },
  "channel_id": "MANTIS-M72HC"
}
```

```
{
  "health": {
    "start_at": 1713774883,
    "uptime": 89,
    "status": {
      "code": 5,
      "text": "ERROR"
    },
    "version": "1.8.3-74-gf7df472"
  },
  "event": {
    "type": "channel",
    "event": "post"
  },
  "channel_id": "MANTIS-M72HC"
}
```

\
The QR code object contains the QR code image and the status of the QR code. The QR code is only valid for a limited time. Sent on event "`channels.patch`"

***

### Why Does My Channel Change Status During the Day?

It’s normal for WhatsApp Web–based channels to briefly reconnect throughout the day.\
During this process, you may receive a sequence of webhook events such as:

**`INIT → LAUNCH → AUTH`**

This typically lasts **2–3 seconds** and may occur once or several times a day, depending on device conditions and connection stability.

While the API continues to work normally, requests made during this short window may return `401 "need channel authorization"` errors.

To handle this smoothly:

* Use webhooks to track channel status changes;
* Pause message sending while the channel is not in `AUTH` ;
* Add retry logic for API calls that fail with 401;
* If reconnects are too frequent, consider using a [dedicated regional proxy](/help-desk/blocking/using-residential-proxies-with-whapi.cloud.md) or [configuring a proxy](/help-desk/hints/setting-up-a-whatsapp-proxy.md) inside the WhatsApp app;

***

### **Channel keeps cycling INIT → LAUNCH → AUTH every few minutes**

This is a sign of channel or session instability.

* **If you have a proxy on the channel** — change the proxy IP or delete unstable proxy.
* Restart the channel:
  * **Partners:** Partner → Channels → **Reload (or partner** [**api**](https://whapi-partner.readme.io/reference/restartchannel)**)**
  * **Regular users:** contact support with your **Channel ID**.
  *

### Tracking WhatsApp Sessions via Webhooks

To receive **notifications when a WhatsApp account is logged out** from the API channel (e.g., session terminated from the phone or due to an unexpected disconnect), make sure to enable the following webhook events in your channel settings:

* `users.post` — triggered when the account is successfully connected (session established)
* `users.delete` — triggered when the account is disconnected or logged out

These events are especially helpful when:

* The WhatsApp session is manually closed from the mobile device
* The session expires due to inactivity or internal WhatsApp policy
* The device is forcibly unlinked

You will receive a webhook callback containing relevant data (channel ID, time, type of event), which allows you to track connection status changes in real time.

### Connecting an account to the channel

You can also use a webhook to track the connection/disconnection of an account to a channel. To do this, use the `users.post` and `users.delete` settings.

```
{
  "user": {
    "id": "61371989950",
    "name": "Jonathan"
  },
  "event": {
    "type": "users",
    "event": "post"
  },
  "channel_id": "MANTIS-M72HC"
}
```

### Disconnect account from channel

```
{
  "user": {
    "id": "61371989950",
    "name": "Jonathan"
  },
  "event": {
    "type": "users",
    "event": "delete"
  },
  "channel_id": "MANTIS-M72HC"
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.whapi.cloud/help-desk/receiving/webhooks/incoming-webhooks-format/account-and-device-status.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
