# Account update

> WABA-level changes: restrictions, bans, review decisions. A restriction or ban can move your numbers out of connected; you will also get a number.connection(/events/whabuzz-events/) event.

Canonical: https://docs.whabuzz.com/events/account-update/

WABA-level changes: restrictions, bans, review decisions. A restriction or ban can move your numbers out of `connected`; you will also get a [`number.connection`](https://docs.whabuzz.com/events/whabuzz-events.md) event.

**Event type:** `account.update`. Fixture payloads are the WhaBuzz Demo tenant's real ids with a fictional customer number; `id`, `tenant_id` and `created_at` in envelopes are illustrative.

## Account restriction {#account-update-restriction}

What Meta POSTs to WhaBuzz (`fixtures/meta/account_update_restriction.json`):

```json
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "26059971920328384",
      "changes": [
        {
          "value": {
            "phone_number": "14692311132",
            "event": "ACCOUNT_RESTRICTION",
            "restriction_info": [
              {
                "restriction_type": "RESTRICTED_ADD_PHONE_NUMBER_ACTION",
                "expiration": 1761196323
              }
            ]
          },
          "field": "account_update"
        }
      ]
    }
  ]
}
```

What your endpoint receives, as the body of a signed POST. `raw` is abbreviated here; on the wire it is the full body above.

```json
{
  "id": "evt_01JAB3K9X2S8C4M7Q1V5R6T0YZ",
  "type": "account.update",
  "api_version": "2026-10-16",
  "created_at": "2025-10-16T05:12:03.481Z",
  "tenant_id": "a578246e-b97f-48e6-ae42-939ec3ccf917",
  "waba_id": "26059971920328384",
  "phone_number_id": null,
  "display_phone_number": null,
  "wamid": null,
  "wa_id": null,
  "user_id": null,
  "dedupe_key": "account_update:<sha256 of the canonical value>",
  "data": {
    "phone_number": "14692311132",
    "event": "ACCOUNT_RESTRICTION",
    "restriction_info": [
      {
        "restriction_type": "RESTRICTED_ADD_PHONE_NUMBER_ACTION",
        "expiration": 1761196323
      }
    ],
    "field": "account_update"
  },
  "raw": {
    "…": "the complete Meta POST body, byte for byte, as shown above"
  },
  "raw_path": "entry[0].changes[0].value"
}
```

## Account review decision {#account-update-review}

What Meta POSTs to WhaBuzz (`fixtures/meta/account_update_review.json`):

```json
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "26059971920328384",
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_REVIEW_UPDATE",
            "waba_info": {
              "waba_id": "26059971920328384",
              "owner_business_id": "1234567890123456"
            },
            "decision": "APPROVED"
          },
          "field": "account_update"
        }
      ]
    }
  ]
}
```

What your endpoint receives, as the body of a signed POST. `raw` is abbreviated here; on the wire it is the full body above.

```json
{
  "id": "evt_01JAB3K9X2S8C4M7Q1V5R6T0YZ",
  "type": "account.update",
  "api_version": "2026-10-16",
  "created_at": "2025-10-16T05:12:03.481Z",
  "tenant_id": "a578246e-b97f-48e6-ae42-939ec3ccf917",
  "waba_id": "26059971920328384",
  "phone_number_id": null,
  "display_phone_number": null,
  "wamid": null,
  "wa_id": null,
  "user_id": null,
  "dedupe_key": "account_update:<sha256 of the canonical value>",
  "data": {
    "event": "ACCOUNT_REVIEW_UPDATE",
    "waba_info": {
      "waba_id": "26059971920328384",
      "owner_business_id": "1234567890123456"
    },
    "decision": "APPROVED",
    "field": "account_update"
  },
  "raw": {
    "…": "the complete Meta POST body, byte for byte, as shown above"
  },
  "raw_path": "entry[0].changes[0].value"
}
```
