---
title: "WhatsApp Business Account restricted or reinstated"
method: POST
path: "whatsapp.account.status_updated"
tags: ["Webhook Events"]
---

# WhatsApp Business Account restricted or reinstated

`POST whatsapp.account.status_updated` (webhook)

Fired when Meta restricts, disables, deletes or reinstates the WhatsApp Business
Account, once per connected number on it.

## Payload

- WebhookPayloadWhatsAppAccountStatusUpdated — Webhook payload for `whatsapp.account.status_updated`. Fired when Meta restricts, flags a violation on, disables, deletes or reinstates the WhatsApp Business Account. The same status is also exposed on the account as `platformStatus`.
  - `id` string, required — Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery. It identifies the event only, never an account or other resource.
  - `event` 'whatsapp.account.status_updated', required
  - `account` object, required
    - `accountId` string, required
    - `profileId` string, required
    - `platform` 'whatsapp', required
    - `username` string, required
    - `displayName` string, nullable
  - `status` object, required
    - `status` 'restricted' | 'active', required — `active` only on a reinstatement (DISABLED_UPDATE with ban state REINSTATE).
    - `metaEvent` string, required — Meta `account_update` event: ACCOUNT_RESTRICTION, ACCOUNT_VIOLATION, ACCOUNT_DELETED or DISABLED_UPDATE.
    - `reason` string, nullable, required — Human-readable summary. Null on reinstatement.
    - `violationType` string, nullable, required — ACCOUNT_VIOLATION only, for example SCAM, ADULT.
    - `restrictions` object[], required — ACCOUNT_RESTRICTION only. Empty otherwise.
      - `type` string, required — For example RESTRICTED_BIZ_INITIATED_MESSAGING, RESTRICTED_CUSTOMER_INITIATED_MESSAGING, RESTRICTED_ADD_PHONE_NUMBER_ACTION.
      - `expiresAt` string, nullable, required — When the restriction lifts, as Meta sent it (for example 2026-10-30T13:38:04+0000).
    - `banState` string, nullable, required — DISABLED_UPDATE only (for example DISABLE, REINSTATE).
    - `banDate` string, nullable, required — DISABLED_UPDATE only, as Meta sent it (for example "September 23, 2026").
  - `timestamp` string, date-time, required — UTC time at which Zernio generated this event (set once when the event payload is built, before delivery is queued). Retries and redeliveries keep the original value, so it reflects the event, not the delivery attempt.

## Acknowledgement `200`

Webhook received successfully

---

[API](https://skmtc.dev/zernio/apis/zernio-api.md) · [All operations](https://skmtc.dev/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zernio/apis/zernio-api/revisions/f92af0e169c1?raw)
