Fix error 131031: WhatsApp Business account locked

Understand why Meta returns error 131031 on WhatsApp Cloud API sends, identify which of the causes applies to your account, and follow the steps to get the lock removed

Overview

If your messages fail with 131031 — Business account has been locked, Meta is refusing every WhatsApp Cloud API send for your WhatsApp Business Account (WABA). The rejection happens entirely on Meta's side: the message never reaches WhatsApp's delivery system, and no message fee is charged.

In HaberChat the failure appears on the message with an error payload similar to this:

{
  "code": 131031,
  "title": "Business account locked by Meta",
  "details": "Business account has been locked."
}

This guide explains what actually triggers the lock, how to identify which of the two variants you are hitting, and the exact steps to get it cleared.

The important part first: error 131031 is recoverable. Accounts locked this way regularly return to normal sending once the underlying cause is resolved.

What error 131031 means

Code 131031
Title Business account locked by Meta
HTTP status 403 — Forbidden
Category Integrity error
Meaning The WhatsApp Business Account has been restricted or disabled for violating a platform policy, or Meta was unable to verify data included in the request (for example, an incorrect two-step verification PIN).
Official reference Meta Policy Enforcement

Two genuinely different problems share this single error code, and Meta does not tell you which one you have. Narrowing that down is the first job — the fixes have almost nothing in common.


Step 0: Identify which problem you actually have

Run these four checks before you change anything. They take a couple of minutes and they decide which section below applies to you.

1. Are inbound messages still arriving?

Send yourself a message from a personal WhatsApp number and check whether it appears in your HaberChat inbox.

  • Inbound works → your number, webhook and integration are healthy. Only the outbound API path is blocked. This points to an account-level restriction or an unverified-data problem, not a broken connection.
  • Inbound also fails → the problem is broader than 131031. Review the WhatsApp number connection troubleshooting guide first.

2. Can you still send from the WhatsApp Business App?

This check only applies if your number runs in Coexistence mode (the number stays on the WhatsApp Business App while also connected to the Cloud API).

  • App sending works but API sending fails → this is the classic 131031 signature. Your number and business are healthy enough to message customers; only the programmatic door is shut. It also means the block is not a number-level ban.

3. Has this number ever sent successfully through the API?

  • It used to work and then stopped → most likely a policy restriction applied to a previously healthy account. Go to Cause 1.
  • It has never completed a single successful API send → the more likely explanation is an onboarding that never fully activated the API sending path, or business data that Meta cannot verify. Go to Cause 2 and Cause 4.

4. What does Meta's own status say?

Open WhatsApp Manager and check the account status, then open Account Quality for your business portfolio.

Do not treat a clean status page as proof that nothing is wrong. A 131031 lock is frequently invisible in Meta's published status fields: the WABA, the business portfolio and the app can all report AVAILABLE while every single API send is still rejected. The restriction sits at a layer Meta does not expose through its public API. If your status looks clean but sends still fail, that is a known pattern — not a contradiction, and not a reason to stop.

Why you get this error

1. Your WhatsApp Business Account is restricted or disabled

Meta restricts accounts that breach the WhatsApp Business Messaging Policy or the Commerce Policy. The most common triggers are:

  • Sending spam or unsolicited messages — messaging people who never opted in, or who did not expect to hear from you.
  • A high volume of blocks and "Report" actions from recipients. This is the single strongest negative signal Meta acts on.
  • Content in prohibited or high-risk categories, including adult content, alcohol and tobacco, drugs and controlled substances, gambling, weapons, unsafe supplements, and unapproved medical claims.
  • Misleading or impersonating business identity — a display name, profile or content that does not represent the real business.

This variant is an enforcement action. It is cleared by appeal, not by reconfiguration.

2. Meta cannot verify your business data

Meta compares the data in your API request against the data recorded on your Meta Business account, your WABA and your phone number. When those records do not line up, the request is rejected. Typical causes:

  • Missing or inconsistent business information across the Meta Business account, the WABA and the phone number profile.
  • Business verification pending or rejected.
  • Incomplete payment or tax details on the business portfolio.

3. An incorrect two-step verification PIN

If your number has two-step verification enabled and the PIN held by your integration no longer matches the one registered with Meta, Meta cannot verify the request and returns 131031.

This variant only applies to numbers that went through the standard registration flow with code verification completed. It does not apply to Coexistence numbers — see the next cause.

4. Onboarding never activated the API sending path

This cause is not documented by Meta, but it is a recurring real-world pattern, particularly on Coexistence numbers onboarded across two or more attempts, or where the initial synchronisation with the WhatsApp Business App failed.

The signature is distinctive: inbound works, the WhatsApp Business App sends fine, Meta reports every entity as healthy — and yet the number has never completed one successful API send since it was connected. In that case the account was not restricted for anything; the API sending capability was simply never switched on for it.

Only Meta support can activate it. Skip to Step 7.


How to fix error 131031

Step 1: Check and update your business information

Open Meta Business ManagerBusiness info and confirm every field is complete and accurate:

  • Legal business name — exactly as it appears on your registration documents
  • Registered business address
  • Business phone number
  • Website URL — reachable, and clearly belonging to the same business
  • Business category

Incomplete or placeholder values here are one of the most common reasons Meta fails to verify a request.

Step 2: Check your WABA and phone number details

The records must be consistent with each other, not just individually valid.

WhatsApp Business Account:

  • The WABA name matches your legal business name.
  • A complete business address and tax information are present under the payment method.
  • A valid payment method is attached, with no outstanding balance.

Phone number profile:

  • Profile photo, business name, description, email and website are all filled in.
  • The display name is approved. A pending or rejected display name caps your throughput and is worth resolving — although on its own it causes a messaging limit, not a 131031 lock.
Coexistence numbers: if your number reports code_verification_status: NOT_VERIFIED and name_status: NON_EXISTS, that is normal and expected — not a fault, and not the cause of your error. Meta never runs the SMS/voice code flow for Coexistence numbers, so those two values stay that way permanently, even on accounts sending hundreds of thousands of messages successfully.

Step 3: Complete business verification

If your Meta Business account is not yet verified, start the process from Meta Business ManagerSecurity CentreBusiness verification.

You will need official documentation — business registration certificate, a utility bill or bank statement at the registered address, and evidence linking your phone number and domain to the business. Meta's guide is here: Verify your business.

Verification typically takes a few business days. A rejected verification must be corrected and resubmitted; leaving it rejected keeps the account in a permanently unverifiable state.

Step 4: Check Account Quality for an active restriction

Open Account Quality and select your business portfolio and WhatsApp Business Account.

  • If a violation or restriction is listed, you have the policy variant — continue to Step 5.
  • If nothing is listed but sends still fail, you have the verification or activation variant — skip to Step 7.

Also check the Support Inbox in Meta Business Suite for enforcement notifications. Meta often posts the specific policy reference there and nowhere else.

Step 5: Submit a review request (appeal)

Only relevant if a restriction or violation is actually listed against your account. If nothing is listed, skip this step — an appeal against a non-existent violation will simply be closed.

  1. Open WhatsApp Manager. If prompted to choose a business account, select the one used to set up your number.
  2. Scroll to your restricted WhatsApp Business Account and click View details in Business Support Home.
  3. Select the violation you want to appeal and click Request review.
  4. Add supporting details. Be specific and factual: explain how recipients opted in, how consent is recorded, and what your message content is. If you did send unsolicited messages, acknowledge it plainly and state exactly what you have changed to prevent it recurring.
  5. Click Submit.

Your request moves to the In review tab, where you can track it. Meta usually responds within 24 to 48 hours, though it can take longer. The outcome is either Reversed (the lock is removed) or Unchanged (the lock stands).

If the appeal comes back Unchanged, fix the underlying behaviour before appealing again. Repeated appeals with no change in practice are routinely rejected, and each rejection makes the next one harder.

Step 6: Reset two-step verification and re-register the number

Only do this if your number completed code verification (code_verification_status: VERIFIED) and you suspect a two-step PIN mismatch. On a Coexistence number this step does nothing and can leave your connection in a worse state than it started.

  1. Disable two-step verification for the number in WhatsApp Manager.
  2. Re-register the number.
  3. Re-enable two-step verification with a PIN you record safely.

Step 7: Open a case with Meta support

If Account Quality is clean, your business data is complete and verified, and sends still fail, the block is one that only Meta can see and only Meta can lift. Open a case from Business Support Home against the affected WhatsApp Business Account.

Give them evidence rather than a description. A case with concrete identifiers is resolved far faster than one without:

All Cloud API send attempts on phone number ID <PHONE_NUMBER_ID>
(WABA <WABA_ID>) fail with error 131031 "Business account has been locked".

Most recent failures:
  <message id>  <timestamp UTC>
  <message id>  <timestamp UTC>

<N> consecutive failures since <date>. Inbound messaging works normally.
Sending from the WhatsApp Business App works normally.
GET /<WABA_ID>?fields=health_status returns can_send_message AVAILABLE
for WABA, BUSINESS and APP.
The number is CONNECTED, LIVE, platform_type CLOUD_API.

Please identify and remove the restriction blocking Cloud API sending.

You can collect the message IDs and timestamps from the failed messages in your HaberChat inbox, and the phone number ID and WABA ID from your number's settings.

We can escalate alongside you. Contact support@haber.chat and we will raise the case through our own Meta channel in parallel with yours. Include your number and the approximate date the failures started.

What will not fix error 131031

These are the actions customers most often try first. None of them clear this error, and some make things worse.

Action Why it does not help
Reconnecting the number in HaberChat For a number already in Connected state, reconnecting refreshes the access token and re-subscribes the webhook. It does not re-register the number with Meta, and it cannot touch a lock held on your Meta assets. On a Coexistence number, an interrupted reconnect can leave the connection worse than before.
Submitting or approving a display name An unapproved display name limits your messaging tier — it does not lock the account. Worth fixing, but it will not clear 131031.
Deleting and re-adding the number Resets your activity history and eligibility clock with Meta, while leaving the account-level restriction fully in place.
Switching to another provider The lock belongs to your WhatsApp Business Account and business portfolio, not to your provider. It follows you.
Waiting for NOT_VERIFIED / NON_EXISTS to change On Coexistence numbers these values never change. They are correct, expected, and unrelated to the error.
Adding a payment method to fix a suspected billing issue Payment and eligibility problems return a different error — 131042, Business eligibility payment issue. If you are seeing 131031, billing is not what Meta is complaining about. Keep your payment method valid regardless.

How to avoid getting locked again

  • Message only contacts who opted in, and keep a record of when and how each one did.
  • Make opting out easy and honour it immediately. Blocks and reports are the fastest route back to a restriction.
  • Warm up new numbers gradually. Do not send a large campaign from a number with no sending history.
  • Watch Account Quality weekly. Quality ratings drop before enforcement lands, which gives you time to react.
  • Keep your business details, payment method and verification current so Meta can always verify a request.
  • Follow the WhatsApp Business Messaging Policy and stay out of restricted content categories.

Frequently asked questions

Is my number banned?

Almost certainly not. Error 131031 blocks the Cloud API sending path for your business account. In most cases the number itself is healthy: inbound messages keep arriving, and on Coexistence numbers the WhatsApp Business App keeps sending and receiving normally.

Am I charged for messages that fail with 131031?

No. The message is rejected by Meta before delivery, so no conversation is opened and no message fee applies.

Why does Meta's status page show everything as available?

Because the restriction that produces 131031 is not exposed through the public status fields. It is normal for the WABA, business portfolio and app to all report AVAILABLE while every send is rejected. This is not a fault in your account or in HaberChat — it simply means the block is only visible inside Meta's internal tooling, which is why a support case is often the only way forward.

How long does it take to recover?

If the cause is a policy restriction and your appeal succeeds, expect 24 to 48 hours from submission. If the cause is unverified business data, recovery follows your business verification timeline — typically a few business days. Cases that need Meta support intervention vary the most, which is why it is worth opening the case early rather than continuing to retry sends.

Will retrying the message help?

No. 131031 is not a transient error and it is not retryable. Every attempt will fail identically until the underlying cause is cleared.


Related articles


Still need help? Contact HaberChat support at support@haber.chat with your number and the date the failures started, and we will review your account against Meta's API and escalate on your behalf where we can.