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:
| State | Meaning |
|---|---|
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_detectionwebhook). 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
| Level | What happens | Duration |
|---|---|---|
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_updatewebhook is triggered with therestriction_infoobject 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:
- 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.
- Warning. If misuse continues, Meta sends a warning by email and webhook.
- 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_LIMITDIRECT_SEND_UTILITY_CATEGORY_ABUSE_STRIKE_1DIRECT_SEND_UTILITY_CATEGORY_ABUSE_STRIKE_2DIRECT_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" } }