WhatsApp Business Platform

Integrity and content guidelines

Updated: Jul 31, 2026
Copy for LLM
Direct Send is limited to utility and authentication messages, and Meta actively monitors how messages are categorized against Meta’s template guidelines. The same integrity rules that apply to user-created templates also apply to Direct Send generated templates.

Template pausing

If you send a message that matches a template paused for low quality, the message fails, and you receive an error code in a webhook response. See the template pausing guidelines for pausing and unpausing details.
To avoid template restrictions:
  • Send messages only to WhatsApp users who are expecting them.
  • Design content so the message is expected — for example, a standard opt-out message or appointment reminder.

Webhook for template pausing

Meta notifies you by email and webhook when a template’s status changes to paused. Subscribe to the template status webhook to receive status changes in real time.
{
  "entry": [
    {
      "id": "102290129340398",
      "time": 1751247548,
      "changes": [
        {
          "value": {
            "event": "PAUSED",
            "message_template_id": 1689556908129832,
            "message_template_name": "auto_generated_123456",
            "message_template_language": "en-US"
          },
          "field": "message_template_status_update"
        }
      ]
    }
  ],
  "object": "whatsapp_business_account"
}
See the template status webhook reference for full details.

Error when sending a paused template

When you attempt to send a message matching a paused template, the message fails, and the webhook response includes a specific error code:
{
  "statuses": [
    {
      "id": "wamid.xxxxx",
      "status": "failed",
      "errors": [
        {
          "code": 132015,
          "title": "Template is temporarily unavailable to use because it was paused due to low quality."
        }
      ]
    }
  ]
}

Template categorization

Meta monitors how Direct Send messages are categorized. If Meta detects marketing content sent through Direct Send, it notifies you. Persistent misuse results in restrictions to Direct Send access.

Notification of non-compliant content

Meta notifies you when it detects marketing content in messages you send in the utility category through Direct Send. This notice gives you a chance to fix the content before Meta enforces restrictions.
Via email
Meta sends you an email that explains which template is non-compliant and how to request a review.
Via webhook
Meta triggers a template_correct_category_detection webhook for each non-compliant template, with a correct_category property in the payload set to the template’s correct category.

Webhook for category misuse

Subscribe to the template_correct_category_detection webhook field to be notified about messages identified as category misuse. Ingest the message_template_id values for the flagged templates.
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "<ID>",
      "time": <TIME>,
      "changes": [
        {
          "field": "template_correct_category_detection",
          "value": {
            "message_template_id": <MESSAGE_TEMPLATE_ID>,
            "message_template_name": "<MESSAGE_TEMPLATE_NAME>",
            "message_template_language": "<MESSAGE_TEMPLATE_LANGUAGE>",
            "category": "UTILITY",
            "correct_category": "MARKETING"
          }
        }
      ]
    }
  ]
}
For Direct Send, the correct_category in this webhook is MARKETING.

Retrieve flagged templates

To view Direct Send templates flagged for not meeting category guidelines:
GET /<WABA_ID>/message_templates?source=AUTO_GENERATED&correct_category=MARKETING
Example response:
{
  "data": [
    {
      "name": "direct_send_text_e22a3ec4_7c4a_4097_ae40_56ed1e89941c",
      "parameter_format": "POSITIONAL",
      "components": [
        {
          "type": "BODY",
          "text": "<BODY_TEXT>",
          "example": {
            "body_text": [
              ["sample 1"]
            ]
          }
        }
      ],
      "language": "zh_CN",
      "status": "APPROVED",
      "category": "UTILITY",
      "correct_category": "MARKETING",
      "source": "AUTO_GENERATED",
      "id": "1951933648908188"
    }
  ],
  "paging": {
    "cursors": {
      "before": "MAZDZD",
      "after": "MjQZD"
    }
  }
}

Request a review of a flagged template

If you believe a template was flagged as marketing content in error, you can request a review in Business Support Home.

Where to request a review of a flagged template

  • Business Support Home > WhatsApp account > Direct Send template updates. Flagged templates appear under the Available for review tab. Select one or more templates and choose Request review. You can submit several at once.
  • WhatsApp Manager > Manage templates. When Meta detects marketing content in your Direct Send messages, a category-misuse indicator appears on the affected template. Hover over the indicator to see a Request a review button that opens the Direct Send template updates tab in Business Support Home. There, select one or more flagged templates and submit.
  • If your account has already received a warning or restriction, a banner appears at the top of WhatsApp Manager — “We detected marketing content in your Direct Send API messages” — with a See flagged templates shortcut that opens the Direct Send template updates tab in Business Support Home.

The review lifecycle

Track each flagged template through these states in the Direct Send template updates tab and in the template’s Details view:
StateMeaning
Available for review
The template was flagged as marketing and is eligible for review.
In review
You’ve requested a review, and Meta is evaluating the template. Most reviews take a few days.
Reversed
The review was approved. The template’s classification is restored to utility, and your messages continue to be delivered normally.
Unchanged
The review confirmed the content is marketing, and the classification stands.

Things to know about flagged-template reviews

  • Review window: Request a review within 60 days of the misclassification notification (the template_correct_category_detection webhook). After that, the template is no longer eligible for review.
  • One review per template: Each flagged template can be reviewed once. To have different content evaluated, change the messages you send through the API — a new template is auto-generated and classified fresh.
  • No disruption while a review is in progress: Requesting a review doesn’t pause your access. You can keep sending Direct Send messages while Meta evaluates the template.
  • You can’t edit auto-generated templates in WhatsApp Manager. To change what’s classified, change the messages you send through your API calls.
  • A review restores a template’s classification, but doesn’t lift account-level restrictions. Any account restrictions lift on their own schedule as your recent misclassification rate falls back under the threshold.
  • To send promotional content on WhatsApp, use Marketing Messages, a separate product for promotions, offers, and announcements.

Account restrictions for persistent category misuse

Persistent misuse of Direct Send to send non-compliant messages leads to increasingly restricted access.

How account restrictions escalate

LevelWhat happensDuration
Warning
Meta notifies you of the misuse. You can request a review of the templates to resolve the issue.
Ongoing
Rate limiting
Meta applies a temporary rate-limit cap to the WABA. It can still send utility messages up to a capped volume; once sends reach the cap, Meta rejects further utility sends with error 131064. The limit lifts automatically — see the expiration in the ACCOUNT_RESTRICTION webhook.
Until utility volume falls back under the cap or the enforcement window ends
Messaging restriction
The WABA can’t use Direct Send for utility or authentication messaging.
7 days
Extended restriction
Continued misuse extends the restriction. This is the final warning before permanent revocation.
30 days
Permanent revocation
Direct Send access is permanently revoked.
Permanent

Notifications

You are notified of enforcement actions through the following channels:
  • Email: Sent to all WhatsApp Business account (WABA) admins (people with Full control of the account) when a warning, restriction, or lift occurs.
  • Webhook: An account_update webhook is triggered with the restriction_info object reflecting the current enforcement state. See Webhook for account restriction for the payloads.

Sequence of notifications

You’re notified at each step as enforcement escalates:
  1. Template notifications. The first signal of misuse comes through template notifications. When Meta detects non-compliant content on a template, you’re notified by email and webhook.
  2. Warning. If misuse continues, Meta sends a warning by email and webhook.
  3. Restrictions. If misuse persists, the WABA can move into the restrictions described in How account restrictions escalate — rate limiting, a 7-day or 30-day restriction, and eventually revocation of access.
The best way to avoid enforcement is to request a review as soon as you receive a template notification, if you disagree with Meta’s assessment. If the content is non-compliant, move those use cases out of the utility category and send them under the appropriate category — marketing or authentication — instead.

Webhook for account restriction

Subscribe to the account_update field to receive account-restriction notifications. Every notification has an event of ACCOUNT_RESTRICTION and uses the same payload shape; the violation_type value — and whether a restriction_info object is present — identifies the restriction stage.

Warning (no restriction)

A warning carries no restriction_info. The violation_type is DIRECT_SEND_UTILITY_CATEGORY_ABUSE_WARN or DIRECT_SEND_UTILITY_TEMPLATE_ABUSE.
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": "TIMESTAMP",
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_RESTRICTION",
            "violation_info": {
              "violation_type": "DIRECT_SEND_UTILITY_CATEGORY_ABUSE_WARN"
            }
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

Active restriction (rate-limiting, 7-day, 30-day, or permanent)

For a strike with a rate-limiting restriction, a 7-day restriction, a 30-day restriction, or a permanent revocation, the payload adds a restriction_info array, with one entry per active restriction carrying the restriction_type and an expiration timestamp. The violation_type is one of:
  • DIRECT_SEND_UTILITY_CATEGORY_ABUSE_RATE_LIMIT
  • DIRECT_SEND_UTILITY_CATEGORY_ABUSE_STRIKE_1
  • DIRECT_SEND_UTILITY_CATEGORY_ABUSE_STRIKE_2
  • DIRECT_SEND_UTILITY_CATEGORY_ABUSE_OFFBOARD
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": "TIMESTAMP",
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_RESTRICTION",
            "violation_info": {
              "violation_type": "DIRECT_SEND_UTILITY_CATEGORY_ABUSE_RATE_LIMIT"
            },
            "restriction_info": [
              {
                "restriction_type": "RESTRICTED_DIRECT_SEND_UTILITY_TEMPLATES",
                "expiration": "<expiration_timestamp>"
              }
            ]
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

Restriction lifted

When a restriction is lifted, the payload carries no restriction_info. The violation_type is DIRECT_SEND_UTILITY_CATEGORY_ABUSE_UNBAN (restriction lifted) or DIRECT_SEND_UTILITY_CATEGORY_ABUSE_RATE_LIMIT_RECOVERY (rate limit recovered).
{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "WHATSAPP-BUSINESS-ACCOUNT-ID",
      "time": "TIMESTAMP",
      "changes": [
        {
          "value": {
            "event": "ACCOUNT_RESTRICTION",
            "violation_info": {
              "violation_type": "DIRECT_SEND_UTILITY_CATEGORY_ABUSE_UNBAN"
            }
          },
          "field": "account_update"
        }
      ]
    }
  ]
}

Error when sending during a restriction

If you attempt to send during a restriction period, the Cloud API synchronously returns error 139200:
{
  "error": {
    "message": "(#139200) Direct Send Utility access is blocked",
    "type": "OAuthException",
    "code": 139200,
    "error_data": {
      "messaging_product": "whatsapp",
      "details": "Direct Send Access is restricted: Direct send messaging capability is not available for this WABA right now due to misclassification based enforcements."
    },
    "fbtrace_id": "ARTCDsilOnw0CnIEuIq4_No"
  }
}