account_update Webhook

Field reference for WhatsApp account_update webhooks: WABA lifecycle events, restrictions, partner events, pricing tiers, MM API terms, offboarding, and Dualhook handling.

The account_update field is the broad WABA lifecycle webhook. It covers partner sharing, permission grants and revocations, policy violations, offboarding, reconnection, pricing-tier changes, MM API terms, and business-location updates.

What account_update Reports

Use this field for account-level changes that affect whether a WABA can stay connected, send messages, use specific features, or remain shared with a provider.

It can report:

  • WABA deletion, restriction, violation, disablement, or reinstatement,
  • partner app install, uninstall, added, or removed events,
  • device-change or phone-number-reregistration offboarding and reconnection,
  • authentication-international rate eligibility,
  • primary business location country changes,
  • MM API for WhatsApp terms acceptance,
  • volume-based pricing tier changes,
  • partner-led business verification status changes.

Key Event Values

EventWhat to do
ACCOUNT_DELETEDTreat the WABA as no longer usable.
ACCOUNT_RESTRICTIONRead restriction_info and stop affected actions until resolved or expired.
ACCOUNT_VIOLATION / DISABLED_UPDATEEscalate account quality and policy review.
PARTNER_APP_INSTALLEDA customer granted app permissions. Confirm expected WABA ownership and scopes.
PARTNER_APP_UNINSTALLEDA customer revoked app permissions. Expect token or management failures.
PARTNER_REMOVEDThe WABA was unshared from the partner. If disconnection_info is present, inspect the reason.
ACCOUNT_OFFBOARDEDThe WABA was offboarded after device change or phone number reregistration.
ACCOUNT_RECONNECTEDThe WABA reconnected after a device change or phone number reregistration.
AUTH_INTL_PRICE_ELIGIBILITY_UPDATEStore the effective start time and exception countries.
VOLUME_BASED_PRICING_TIER_UPDATEUpdate pricing-tier reporting for the category, region, and effective month.
MM_LITE_TERMS_SIGNEDThe WABA accepted MM API for WhatsApp terms.

Payload Shape

The wrapper is stable; the nested object changes by event.

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<WABA_ID>",
      "time": 1743451903,
      "changes": [
        {
          "field": "account_update",
          "value": {
            "event": "ACCOUNT_RESTRICTION",
            "restriction_info": [
              {
                "restriction_type": "RESTRICTED_BIZ_INITIATED_MESSAGING",
                "expiration": 1743451903
              }
            ]
          }
        }
      ]
    }
  ]
}

Useful nested objects:

ObjectUsed for
waba_infoPartner app events, partner sharing, MM API terms, ad account linking.
violation_infoPolicy or terms violations.
restriction_infoAccount restrictions and any remediation text.
ban_infoDisablement and reinstatement state.
disconnection_infoCoexistence disconnection reason and who initiated it.
auth_international_rate_eligibilityAuthentication-international pricing effective dates.
volume_tier_infoVolume-based pricing tier, category, region, and effective month.

Dualhook Handling

Dualhook treats account_update as a high-priority management field. It is received on Dualhook's app-level callback, interpreted for connection and account state, and forwarded to your configured endpoint.

Dualhook uses these events to surface account restrictions, offboarding, reconnection, partner removal, permission revocation, pricing-tier signals, and MM API terms acceptance. For Platform API customers, related lifecycle state may also appear in signed Dualhook platform events. Dualhook stores operational metadata and delivery status only; no customer message bodies or media are part of this field.

Implementation Notes

  • Switch on value.event first, then parse the nested object for that event.
  • Keep unknown event values. Meta adds new account events over time.
  • Treat PARTNER_APP_UNINSTALLED, PARTNER_REMOVED, ACCOUNT_OFFBOARDED, and ACCOUNT_DELETED as connection-impacting events.
  • PARTNER_REMOVED can include disconnection_info for WhatsApp Business app plus Cloud API setups. Reasons such as PRIMARY_INACTIVITY, COMPANION_INACTIVITY, CHANGE_NUMBER, and USER_RE_REGISTERED are operationally meaningful.
  • Multiple VOLUME_BASED_PRICING_TIER_UPDATE events can describe the same tier change. Use the earliest tier_update_time for canonical reporting.

Related

  • Webhook Subscription FieldsReference list of all 22+ WhatsApp Business Platform webhook subscription fields, what each notifies you of, required permissions, payload size limits, retry policy, mTLS support, and IP allowlisting.
  • Webhook Events & NotificationsManagement webhook events: template status, quality updates, account alerts, and forwarding.
  • Maintain Account HealthOwnership hygiene, quality monitoring, opt-out governance, and incident playbook.
  • PricingDualhook subscription plans, what is included, and how pricing relates to Meta messaging fees.
  • MM API OnboardingOnboarding a WABA to MM API for WhatsApp: eligibility check (marketing_messages_onboarding_status), Terms of Service, Embedded Signup with marketing_messages_lite, and the MM_LITE_TERMS_SIGNED webhook.
Browse more docsStart Free Trial