TL;DR: WhatsApp error
131031means your WhatsApp Business Account has been restricted/disabled for a platform-policy violation, or Meta could not verify request data (e.g. an incorrect two-step PIN). Pause sends, use the Health Status API to learn why, fix the policy issue or PIN, and appeal via Policy Enforcement.
What Error 131031 Means
Meta's details string is verbatim: "The WhatsApp Business Account associated with the app has been restricted or disabled for violating a platform policy, or we were unable to verify data included in the request against data set on the WhatsApp Business Account (e.g, the two-step pin included in the request is incorrect)." (Integrity error — confirmed on the live table.) Meta explicitly recommends the Health Status API for additional insight into the lock reason.
Where You See It
Two patterns: an immediate API error, and a failed status webhook after the send initially returned a wamid. The second pattern (accepted then later failed) is widely reported and especially confusing.
Common Causes
- Policy violation (messaging or commerce policy); account under review or disabled.
- Incorrect two-step verification PIN in the request.
- A delivery-pipeline account state stricter than what one UI panel shows.
How to Fix It
- Pause outbound sends from the affected number.
- Call the Health Status API to identify the specific reason.
- If it's a PIN issue, supply the correct two-step PIN (reset if needed).
- If it's policy enforcement, review the Policy Enforcement doc and submit a review/appeal.
- If API and dashboard disagree, log
fbtrace_id, message ID, timestamp, and webhook payload, and open Meta support with concrete examples.
How to Prevent It
- Follow the WhatsApp Business Messaging Policy and maintain template quality.
- Store the correct two-step PIN; avoid repeated wrong guesses.
- Monitor account/health webhooks for early restriction signals; keep a playbook for
LIMITED/BLOCKEDstates. See Maintain Account Health.
Related Errors
/docs/whatsapp-error-130497— country restriction/docs/whatsapp-error-131048— spam-rate restriction/docs/whatsapp-error-190— token expired- See the full error reference
FAQ
What is WhatsApp error 131031? Your WABA is locked for a policy violation or failed data verification.
How do I find out why? Use Meta's Health Status API.
Why does the send API return 200 but the webhook show 131031? Acceptance and final delivery/account-state checks are different steps.
Is a wrong two-step PIN really 131031? Yes — Meta lists an incorrect two-step PIN as a 131031 trigger.
How Dualhook Helps
Account lock is a high-value area for Dualhook. Because it holds advanced whatsapp_business_management access and subscribes to account-level webhooks (such as account_update, account_alerts, and account_review_update), it can surface restriction and health signals and alert you the moment a WABA's status changes — often before you discover it via a failed send. See Maintain Account Health and Messaging Health Status. Resolving the underlying policy/PIN issue still happens in Meta's tooling.