# whatsapp.account.status_updated

Meta restricted, disabled, deleted or reinstated a connected WhatsApp Business Account, or flagged a violation on it.

### When it fires

Mirrors Meta's `account_update` events. They apply to the whole WhatsApp Business Account, so every connected number on it receives one event.

### Payload notes

Branch on `status.status` (`restricted` or `active`) and `status.metaEvent`. `status.restrictions` lists what Meta restricted (for example `RESTRICTED_BIZ_INITIATED_MESSAGING`) and when each lifts. The same status is on the account as `platformStatus`.




**Payload for `whatsapp.account.status_updated`:**

- **id** (required) `string`: 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.
- **profiles**: `WebhookProfiles` - See schema definition
- **test** `boolean`: Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.
- **event** (required) `string`: No description - one of: whatsapp.account.status_updated
- **account** (required) `object`: 
  - **accountId** (required) `string`: No description
  - **profileId** (required) `string`: No description
  - **platform** (required) `string`: No description - one of: whatsapp
  - **username** (required) `string`: No description
  - **displayName** `string,null`: No description
- **status** (required) `object`: 
  - **status** (required) `string`: `active` only on a reinstatement (DISABLED_UPDATE with ban state REINSTATE). - one of: restricted, active
  - **metaEvent** (required) `string`: Meta `account_update` event: ACCOUNT_RESTRICTION, ACCOUNT_VIOLATION, ACCOUNT_DELETED or DISABLED_UPDATE.
  - **reason** (required) `string,null`: Human-readable summary. Null on reinstatement.
  - **violationType** (required) `string,null`: ACCOUNT_VIOLATION only, for example SCAM, ADULT.
  - **restrictions** (required) `array[object]`: ACCOUNT_RESTRICTION only. Empty otherwise.
    - **type** (required) `string`: For example RESTRICTED_BIZ_INITIATED_MESSAGING, RESTRICTED_CUSTOMER_INITIATED_MESSAGING, RESTRICTED_ADD_PHONE_NUMBER_ACTION.
    - **expiresAt** (required) `string,null`: When the restriction lifts, as Meta sent it (for example 2026-10-30T13:38:04+0000).
  - **banState** (required) `string,null`: DISABLED_UPDATE only (for example DISABLE, REINSTATE).
  - **banDate** (required) `string,null`: DISABLED_UPDATE only, as Meta sent it (for example "September 23, 2026").
- **timestamp** (required) `string` (date-time): 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.