Why am I seeing error code "131056"?

Neelke Stadler Updated by Neelke Stadler

If you're encountering the 131056 error code more than you expect, for what seems like normal messaging activity, here's what you need to know. With the shift from WhatsApp's On-premise API to the Cloud API, we're seeing a new range of error codes. Let's zoom in on error code 131056.

Meta's explanation and suggested solution

The error, as returned by the Cloud API reads as follows: {code: 131056, message: "(#131056) (Business Account, Consumer Account) pair rate limit hit", type: "OAuthException"} . According to Meta's documenation, this means "too many messages were sent from the sender phone number to the same recipient phone number in a short period of time."

Meta's proposed solution is to "wait and retry the operation if you intend to send messages to the same phone number. You can still send messages to a different phone number without waiting."

But I am not sending too many messages

We've heard from several users that this error pops up even with their usual messaging practices, which didn't cause issues with the On-premise API. Often, it's the most engaged users who are affected.

We've reached out to Meta for clarity but haven't gotten substantial answers yet. Here's what we do know:

Meta hasn't shared specifics about the rate limiter's thresholds. At Turn.io, we can't adjust these limits, and Meta keeps the details under wraps.

Meta suggests retrying the API calls that return an HTTP 429. We've updated our client to wait and retry network requests that failed due to the 131056 errors, but this hasn't completely solved the problem.

Business phone numbers are limited to sending 1 message every 6 seconds to the same WhatsApp user phone number (0.17 messages/second). This is roughly equivalent to 10 messages per minute, or 600 messages per hour. If you exceed this limit, the API will return error code 131056 until you are within your limit again.

What now?

If necessary, you can send up to 45 messages within 6 seconds as a burst. If you send a burst, you are essentially borrowing against your pair rate limit, so you will be prevented from sending subsequent messages to the same user until the amount of time it would normally take to send that many “non-burst” messages to the user has passed. For example, it takes ~2 minutes to send 20 “non-burst” messages to a user, so if you send a burst of 20, you will have to wait ~2 minutes before you can send another message to the user.

To avoid having to calculate post-burst message wait times, we recommend that if a message send request fails after sending a burst, you try again 4^X seconds later, where X = 0, and increases by 1 after each failed attempt, until the request succeeds.

The best you can do is to ensure your service doesn’t spam people because essentially, that's what the rate limit aims to prevent.

Was this article helpful?

Implications of moving to the WhatsApp Cloud API

Contact