Updated on October 28, 2026
The Marketing Messages API for WhatsApp is Meta’s API dedicated to marketing templates, previously called MM Lite. On October 13, 2026, Meta announced that the Cloud API will stop accepting marketing messages on October 13, 2027; messaging accounts created on or after April 13, 2027 won’t have that option at all. Migrating means sending your marketing templates through the /marketing_messages endpoint, keeping inbound replies on the Cloud API and routing sends by template category.
What the Marketing Messages API is
According to Meta’s overview, it’s an API for sending marketing messages that optimizes delivery to reach the people most likely to find them relevant. It has a technical schema similar to the Cloud API, uses the same billing model and works with your existing phone numbers and marketing templates.
The name changed along the way. Older docs called it the Marketing Messages Lite API (MM Lite), and that name still shows up in places such as the status webhook (marketing_lite) and Embedded Signup configuration. Today the product is the Marketing Messages API for WhatsApp. It became generally available on November 19, 2025.
What it does not do: receive messages. Meta describes the MM API as send-only. Customer replies keep arriving through the Cloud API, on the same number, through the same webhooks.
The official timeline
| Date | What happens |
|---|---|
| Nov 19, 2025 | Marketing Messages API generally available |
| Apr 6, 2026 | Onboarded businesses can turn off marketing on Cloud API (error 131063) |
| Oct 13, 2026 | Global announcement of the Cloud API marketing sunset |
| Apr 13, 2027 | Messaging accounts created from this date can’t send marketing via Cloud API |
| Oct 13, 2027 | Global sunset: sending marketing via Cloud API returns an error |
Accounts created before April 13, 2027 can keep sending marketing on the Cloud API until October 13, 2027. Meta says the April milestone exists so new businesses don’t accidentally start on the legacy product. Service, authentication and utility messages stay on the Cloud API, unchanged.
Want to try it while you read? Create a Vectalk account and send your first message through the official API. Create free account →
What changes in your code
The endpoint
Sending uses the same payload syntax and permissions as the Cloud API. Only the path changes:
curl -X POST 'https://graph.facebook.com/<API_VERSION>/<PHONE_NUMBER_ID>/marketing_messages' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "15551234567",
"type": "template",
"template": {
"name": "black_friday_2026",
"language": { "code": "en_US" }
},
"product_policy": "STRICT"
}'
What the send page makes clear:
- Marketing templates only. Free-form text, authentication, service and utility on
/marketing_messagesreturn an error. product_policy. WithCLOUD_API_FALLBACK(default), if the account hasn’t met the onboarding requirements, the message goes out through the Cloud API. WithSTRICT, there’s no fallback.message_activity_sharing. Optional parameter that turns sharing of message activity (such as reads) with Meta on or off for optimization. If omitted, the account setting applies.- BSUID. Since May 5, 2026, the
recipientfield accepts the user identifier created for WhatsApp usernames. BSUID sends don’t get delivery optimization.
Status webhooks
The MM API fires the usual status webhooks (sent, delivered, read). When a message went out through it, pricing.category and conversation.origin.type are marketing_lite. If it fell back to the Cloud API, you’ll see marketing:
{
"conversation": { "id": "<CONVERSATION_ID>", "origin": { "type": "marketing_lite" } },
"pricing": { "billable": true, "pricing_model": "PMP", "category": "marketing_lite" }
}
Meta recommends storing which API was used for each wamid. If your code filters on category === "marketing" for cost reports, add marketing_lite. The general format of these events is covered in WhatsApp API message status webhooks.
Error 131063 and turning off marketing on the Cloud API
Since April 6, 2026, businesses that completed MM API onboarding can block marketing templates on /messages:
curl -X POST 'https://graph.facebook.com/<API_VERSION>/<WABA_ID>' \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{ "disable_marketing_messages_on_cloud_api": true }'
With that on, a marketing template sent through the Cloud API comes back with:
{
"error": {
"message": "(#131063) Marketing templates disabled for Cloud API",
"type": "OAuthException",
"code": 131063
}
}
Watch the order. If the account started onboarding but hasn’t accepted the MM API terms, the /marketing_messages fallback to the Cloud API is also rejected with 131063. In other words, turning this on before onboarding is complete breaks all your marketing sends. To undo it, send the same field as false.
Expect this error to be common in 2027. Treat 131063 as a sign the template hit the wrong endpoint, not as a transient failure: don’t retry on the same endpoint.
Category routing: the detail that breaks integrations
Migration isn’t just swapping the URL for campaigns. Meta can reclassify a utility template as marketing, and the official guidance is that reclassified messages must go through the MM API. In practice, your system needs to:
- Keep an up-to-date
template → categorymap (Meta published template routing guidance on September 24, 2026 for exactly this). - Choose the endpoint by category at send time, not by campaign type.
- Handle category changes: if a template became marketing, the next calls go to
/marketing_messages.
If you’re unsure what Meta considers marketing, see how Meta classifies your template.
Features only available on the MM API
Meta lists features not available for marketing templates on the Cloud API:
- Delivery optimization. Meta steers delivery toward people more likely to engage. Some features have geographic restrictions.
- Automatic creative optimizations. Image filters, headline extraction, text formatting and more. At the template level they’re on by default; at the account level, since April 21, 2026, they’re off and you opt in.
- Time-to-live (TTL) for marketing. Set how long Meta keeps trying to deliver, useful for time-limited offers.
- GIFs and other media formats.
- Metrics. Benchmarks against similar businesses, recommendations and off-WhatsApp conversion metrics (which require the Meta Pixel or Conversions API; see Meta Conversions API for WhatsApp).
- Max price. In open beta since October 1, 2026: you set the maximum per delivery and Meta charges that amount or less. Max price sends to unsupported countries return error
131065.
One operational detail: after creating a marketing template (or using one idle for more than 7 days), Meta asks you to wait 10 minutes before sending, because of the sync with the ad account.
What about pricing?
Meta only says the MM API uses the same billing model as the Cloud API, per delivered message. It doesn’t publish a different rate for those who migrate. For recipients in Brazil, the official marketing rate has been BRL 0.3217 (Brazilian reais) per message since October 1, 2026; other countries follow Meta’s rate card. With max price on, the charge becomes the cap you set or less. To estimate a campaign, see how much a WhatsApp campaign costs.
Migration checklist
- Accept the terms of the Marketing Messages API.
- Confirm the onboarding requirements. Meta estimates about two weeks for most integrations.
- Split sending by category using the template map above.
- Start with
CLOUD_API_FALLBACKand monitorpricing.category: if you seemarketing, fallback is happening. - Switch to
STRICTonce every send comes out asmarketing_lite. - Update reports and cost tracking to recognize
marketing_lite. - Turn on
disable_marketing_messages_on_cloud_apionly at the end, to catch any forgotten/messagescall with error131063before Meta’s deadline. - Do it before peak season. If your 2027 Black Friday falls after October 13, it will run on the MM API only.
For the rest of this year’s changes, see WhatsApp API changes in 2026.
How it works with Vectalk
Vectalk is a proxy for the official WhatsApp Cloud API: you use Meta’s payloads, pay Vectalk, and Vectalk pays Meta. Today the Vectalk documentation describes sending templates via POST /api/messages, the equivalent of the Cloud API’s /messages, which remains valid for marketing until the deadlines above. Customer replies keep arriving at the webhooks you registered. To get started, create your account at apps.vectalk.com.br/register.
Frequently asked questions
Is the Marketing Messages API the same as MM Lite?
Yes. MM Lite (Marketing Messages Lite API) was the previous name. The current product is the Marketing Messages API for WhatsApp, and marketing_lite still appears in status webhooks.
Do I need a new phone number to use the MM API?
No. Meta says you can use existing phone numbers and marketing templates. The same number sends marketing through the MM API and receives messages through the Cloud API.
Do utility and authentication templates also change endpoints?
No. Service, authentication and utility stay on the Cloud API. /marketing_messages rejects anything that isn’t a marketing template.
What happens if I don’t migrate by October 13, 2027?
Per the documentation, after that date sending marketing through the Cloud API returns an error. If your messaging account is created on or after April 13, 2027, that applies from day one.
How do I receive replies to a campaign sent through the MM API?
Through the Cloud API, on the same business phone number and the same webhooks. The MM API only sends.
Official sources consulted on October 28, 2026: Marketing Messages API for WhatsApp overview (updated October 13, 2026), Send marketing messages (updated May 21, 2026), Marketing Messages API changelog, WhatsApp Business Platform changelog, WhatsApp Business Platform pricing (updated September 30, 2026).
Try the official WhatsApp API today
Create your account, generate a token and send your first message with the quick-start guide. Same payloads and webhooks as Meta's Cloud API.
