WhatsApp error 131048: sends restricted — cause and fix
WhatsApp error 131048: Meta restricts the number's sends after blocks or spam reports. How to read the quality rating and bring it back up.
WhatsApp error 131048 means Meta is limiting how many messages your number can send, because too many earlier messages were blocked or reported as spam by their recipients. It is a quality problem, not a speed problem. Pause your campaigns, check the number's quality rating, then resume with recipients who opted in.
What does error 131048 mean?
"Message failed to send because there are restrictions on how many messages can be sent from this phone number. This may be because too many previous messages were blocked or flagged as spam." — Meta, Cloud API error codes
Meta points to three things: the quality status in WhatsApp Manager, template messaging limits, and template quality. What they share is message quality as Meta measures it (Meta, Send messages):
- it reflects how your messages were received over the past seven days, weighted by recency;
- it combines user feedback signals: blocks, reports, mutes, archives, and the reasons people give when they block you;
- on a high-traffic number, it can change within minutes.
The number's rating, status and messaging limit are shown in WhatsApp Manager under Account tools > Phone numbers.
When does error 131048 happen?
- After a campaign sent to a cold list: contacts imported without consent, old customers who were not expecting you.
- When one template keeps collecting negative feedback: its own rating drops, then the rating of the number sending it.
- When messages follow each other too often to the same people. Meta lists "sending too many messages per day" among the practices to avoid.
Where do you see it in Genuka WA?
| Channel | What you get |
|---|---|
POST /api/v1/messages response | 400, "error": "send_retryable", meta.code: 131048 |
message_status webhook, when Meta reports the failure afterwards | data.status: "failed", data.errors[0].code: 131048 |
| Campaign | When Meta refuses on the call, each affected recipient is attempted up to three times, then turns failed. Reported by webhook, it turns failed with no new attempt |
GET /api/v1/numbers/{id}/health | qualityRating (GREEN, YELLOW, RED) read live from Meta, plus alerts when it changed |
phone_number_quality_update webhook | The quality or tier change, pushed by Meta |
GET /api/v1/templates?sync=true | qualityScore.score (GREEN, YELLOW, RED, UNKNOWN) for each template created through Genuka WA, to find the one causing trouble |
Genuka WA classifies 131048 as retryable: the restriction eventually lifts, and a later attempt
can go through. Our advice: here meta.retryable: true means "later", not "now". A campaign's
three automatic attempts follow each other within two seconds and usually fail too: launch nothing
more on this number until its rating has recovered.
How do I fix error 131048?
Pause the number's marketing sends. Launch no new campaign until the rating recovers: every badly received message weighs on the next seven days.
Read the number's rating with GET /api/v1/numbers/{id}/health, or in WhatsApp Manager.
Find the template at fault: GET /api/v1/templates?sync=true returns qualityScore.score for
each template created through Genuka WA; for those created in WhatsApp Manager, read the rating
there. Stop the ones at RED or YELLOW, and rewrite them before using them again.
Clean your audience: keep the contacts who opted in and who read, drop the others, and honor every opt-out.
Resume gradually, with small sends to your most engaged customers, checking the rating at each step.
curl https://wa.genuka.com/api/v1/numbers/con_1/health \
-H "Authorization: Bearer $GENUKA_WA_API_KEY"
# {
# "data": { "connectionId": "con_1", "qualityRating": "YELLOW", "messagesPerSecond": 80, ... },
# "alerts": [ { "kind": "quality_dropped", "severity": "warning", "from": "GREEN", "to": "YELLOW", "message": "..." } ]
# }How do I prevent error 131048?
Meta's guidelines for high-quality messages (Meta, Send messages):
- follow the WhatsApp Business Messaging Policy;
- only message people who opted in to receive messages from you;
- make messages personalized and useful;
- avoid open-ended welcome or introductory messages;
- avoid sending too many messages per day;
- optimize content and length.
On the integration side, wire up the phone_number_quality_update webhook and alert as soon as a
number turns YELLOW: that is the moment to act, before RED.
Related error codes
- 132015: one specific template is paused for low quality.
- 131049: one recipient reached their marketing message limit; your number is not the issue.
- 130429: plain throughput overflow, unrelated to quality.
FAQ
How long does a 131048 restriction last?
Meta publishes no duration. Since quality is computed over the past seven days, expect at least several days of well-received messages before it recovers.
Can I work around it with another number on the same account?
It is not a fix: messaging limits are calculated at business portfolio level and shared by all of its numbers (Meta, Messaging limits), and the cause, badly received messages, would follow you.
Are service messages affected?
Meta describes a restriction on how many messages the number can send, without distinguishing categories. Prioritize replies to your customers and transactional messages while the rating recovers.
Sources
WhatsApp error 130429: Rate limit hit — cause and fix
WhatsApp error 130429 (Rate limit hit) means your number exceeded its Cloud API throughput. The per-number caps, and how to retry without losing messages.
WhatsApp error 131056: pair rate limit — cause and fix
WhatsApp error 131056: too many messages to the same recipient in a short time. Meta's pair rate limit (1 message every 6 s) and how to retry it properly.