Engineering
WhatsApp error 131063 (marketing templates disabled on Cloud API): route the send or switch the flag back
131063 appears when a business has set disable_marketing_messages_on_cloud_api to true and then sends a marketing template through /messages. What the flag does, how recategorisation triggers it, and the two ways to fix it.
By Broadchat teamPublished 6 min read
In short
WhatsApp error 131063 means you sent a marketing template through the Cloud API /messages endpoint on an account where marketing templates have been switched off for the Cloud API. Meta's description: "Your template is categorized as Marketing, but marketing templates are currently disabled for your Cloud API configuration." The business set disable_marketing_messages_on_cloud_api to true. Either send the template through the Marketing Messages API (/marketing_messages), or set the flag back to false. Utility and authentication templates are not affected.
Key takeaways
- 131063 is returned only for marketing templates sent through /messages on an account with disable_marketing_messages_on_cloud_api set to true.
- Meta's fix: use the Marketing Messages API, or set the flag back to false.
- Meta's routing guide says that on 131063 you should refresh the template's category and retry through /marketing_messages.
- A template recategorised from utility to marketing can start failing with 131063 overnight, without anyone changing your code.
- Meta has announced that the Cloud API stops supporting marketing messages on 13 Oct 2027, so routing marketing through the Marketing Messages API is the long-term direction.
WhatsApp error 131063 is a routing error, not a content error. Meta's error codes page describes it as: "Your template is categorized as Marketing, but marketing templates are currently disabled for your Cloud API configuration." The solution given is: "The business has set disable_marketing_messages_on_cloud_api to true. To send this template, use the Marketing Messages API, or re-enable marketing templates on Cloud API by setting the flag to false." Your template is approved and your recipient is fine; you sent it down the wrong road.
Two endpoints for templates
Since the Marketing Messages API arrived, a WhatsApp Business account can send templates two ways from the same phone number:
| Cloud API | Marketing Messages API | |
|---|---|---|
| Endpoint | POST /{phone-number-id}/messages | POST /{phone-number-id}/marketing_messages |
| Template categories | Marketing, utility, authentication (marketing can be switched off) | Marketing templates |
Effect of the flag true | Marketing templates rejected with 131063 | Unchanged |
| Utility template that used to be marketing | Accepted | Rejected; resend through /messages |
Meta's routing guide tells businesses to set disable_marketing_messages_on_cloud_api to true after the account is fully onboarded to the Marketing Messages API. From then on, every marketing template must go through /marketing_messages. Anything still calling /messages with a marketing template gets 131063.
Why it happens
- The flag was set, but not every sender moved. The main campaign tool was switched to
/marketing_messages, but an older script, a CRM plugin or a chatbot step still sends marketing templates through/messages. - A template was recategorised. Meta can move a template from utility to marketing (template recategorisation). Your code still thinks it is utility and sends it through
/messages, and it now fails. - Someone set the flag without telling the team. In a shared WhatsApp Business account, one partner or developer may have changed it.
- The template's category is cached. Your system stored the category when the template was approved and never refreshed it.
How to fix it
- Confirm the category. Fetch the template from the account's
message_templatesedge and read its currentcategory. If it saysMARKETING, 131063 is expected while the flag istrue. - Decide which route you want. If the business moved to the Marketing Messages API on purpose, keep the flag and fix the sender. If nobody meant to turn off marketing on the Cloud API, set the flag back.
- To keep the flag: resend the same template payload to
/marketing_messages. Meta's routing guide says that on 131063 you should "refresh the category and retry through/marketing_messages", and also to "retry only after a confirmed failure, and make retries idempotent". - To undo it: a developer with access to the WhatsApp Business account sets
disable_marketing_messages_on_cloud_apiback tofalseon the account. Marketing templates then work on/messagesagain. - Refresh categories regularly. Read the category at send time or keep it updated from the
message_template_status_updateand category-update webhooks, so recategorisation does not break sends.
Example: the error and the corrected request
The failed send (values and title illustrative):
{
"error": {
"message": "(#131063) Marketing templates disabled for Cloud API",
"type": "OAuthException",
"code": 131063,
"error_data": {
"messaging_product": "whatsapp",
"details": "Your template is categorized as Marketing, but marketing templates are currently disabled for your Cloud API configuration."
},
"fbtrace_id": "AkT6pZr1mNw8QxV3cLb5yGh"
}
}The same template, routed through the Marketing Messages API (illustrative values):
POST /v24.0/1029384756/marketing_messages
{
"messaging_product": "whatsapp",
"to": "919876543210",
"type": "template",
"template": {
"name": "diwali_offer_2026",
"language": { "code": "en" },
"components": [
{ "type": "body", "parameters": [{ "type": "text", "text": "Meera" }] }
]
}
}A worked example
Arjun's agency moved Rangoli Home's marketing to the Marketing Messages API in October and set the flag to true. Festive campaigns ran fine. Then the abandoned-cart reminder, which Rangoli Home's developer had built as a utility template a year earlier, started failing with 131063 on every send.
The template list showed why: Meta had recategorised the reminder as marketing, because it included a discount code. The developer had two options: route the reminder through /marketing_messages and accept marketing pricing, or rewrite it as a pure cart reminder without the offer and submit it as a new utility template. He did the first for the festive week and the second afterwards, and now reads each template's category before every send.
Preventing 131063
- Make one function choose the endpoint from the template's current category, and have every integration call it.
- List every system that sends templates before setting the flag: campaign tool, CRM, ecommerce plugin, chatbot, reminder scripts.
- Watch for recategorisation and refresh the category instead of trusting the value saved at approval.
- Plan ahead. Meta has announced that the Cloud API will stop supporting marketing messages on 13 Oct 2027, and that new messaging accounts created on or after 13 Apr 2027 cannot send marketing through the Cloud API at all. Routing logic you build now will be needed then.
How Broadchat handles 131063
Broadchat's panel campaigns send templates through the Cloud API, so turning marketing off on the Cloud API would make them fail with 131063. For that reason a channel access token in Broadchat cannot change disable_marketing_messages_on_cloud_api: the channel API refuses that request with "This setting cannot be changed with a channel token". If your own code sends through a channel's Graph-compatible API, both /messages and /marketing_messages are accepted for template sends, and both are billed from the channel wallet in the same way. If you see 131063 on a Broadchat channel, the flag was set from another app with access to the account; set it back to false from there, or route that template through /marketing_messages.
Background on categories is in WhatsApp template categories explained and the guide to WhatsApp message templates. Every other code is in the WhatsApp API error codes cheat-sheet. Agencies managing marketing for several brands can run it under their own name through the white-label program.
Sources
- WhatsApp error codes — Meta for Developers, checked 1 November 2026
- Route template messages (Marketing Messages API) — Meta for Developers, checked 1 November 2026
- Marketing Messages API for WhatsApp — Meta for Developers, checked 1 November 2026
Broadchat team · Product and partner success team
The people who build and support Broadchat, the white-label WhatsApp Business API platform. We write from what we see while onboarding partners and their clients on the official WhatsApp Cloud API, and we check every article against Meta's current documentation.
Last updated:
Frequently asked questions
What does WhatsApp error 131063 mean?
It means you sent a marketing template through the Cloud API /messages endpoint on an account where the business has set disable_marketing_messages_on_cloud_api to true, so marketing templates must go through the Marketing Messages API.
How do I fix 131063?
Either resend the template through POST /{phone-number-id}/marketing_messages, or have someone with access to the WhatsApp Business account set disable_marketing_messages_on_cloud_api back to false. Meta lists both options.
Why did my utility template start failing with 131063?
Meta most likely recategorised it as marketing, for example because it contains an offer. Check the template's current category; if it is now marketing, route it to /marketing_messages or create a new utility template without the promotion.
Does 131063 affect utility or authentication templates?
No. Meta's description refers only to templates categorised as marketing. Utility and authentication templates keep working on /messages with the flag set to true.
Will marketing on the Cloud API stop working altogether?
Meta has announced that the Cloud API stops supporting marketing messages on 13 Oct 2027, and that messaging accounts created on or after 13 Apr 2027 cannot send marketing through the Cloud API. Marketing then goes through the Marketing Messages API.