send_rate_limited — Send queue saturated

HTTP 429
Retryable

What the API returns

{
  "error": {
    "code": "send_rate_limited",
    "message": "The send queue for this channel is saturated.",
    "request_id": "req_01JRQ8F4X9N2K7YB3C5V6W8H0T"
  }
}

Every Wapito error is this one envelope. Branch on code, which is stable; message is written for people and can be reworded; details appears only when there is something specific to say; request_id is what to quote to support.

What it means

send_rate_limited is an HTTP 429 error from the Wapito WhatsApp API: send queue saturated. The response message reads “The send queue for this channel is saturated.” It is retryable: the same request can succeed later without changes. 5 endpoints can raise it, POST /messages/text among them.

Why it happens

Wapito serialises outbound messages per channel and spaces them deliberately, with a little jitter, because a number that fires messages at machine speed is the clearest ban signal there is. When callers push faster than the queue drains, a request eventually waits longer than the synchronous ceiling and is refused rather than held open. This is an anti-ban control working as intended, not a capacity failure.

How to fix send_rate_limited

  1. Queue the work on your side and feed the API at a steady pace instead of fanning out with parallel workers.

  2. Increase the configured send spacing for the channel if you are hitting this during normal operation - slower is safer.

  3. Retry the refused message after a short delay; it was never sent, so there is no risk of sending it twice.

Endpoints that raise it

Where you will meet it

Retry guidance

Safe to retry

The condition is transient, so the same request can succeed later without any change on your side. Retry with exponential backoff and jitter — start at one second, double each attempt, cap at a minute — and stop after a handful of tries so a stuck condition surfaces as an alert rather than a hot loop.

On a 429, read the Retry-After header first when the response carries one — rate_limited always sends it, in seconds — and when the details object names a window or a reset time, wait for exactly that. Both beat a guessed backoff.

Frequently asked questions

Can I turn the send queue off for a premium channel?

No. The queue, its spacing and the warm-up ladder are never bypassed, on any plan. They are the difference between a number that survives a year of automation and one that is banned in a week, so paying more buys a higher ceiling rather than an exemption from the pacing.

Was the message sent before the error was returned?

No. The request is refused while it is still queued, so nothing reached WhatsApp and no duplicate is possible. That is why a plain retry after a short delay is safe here, unlike a gateway timeout where the outcome is genuinely unknown.

Related

Try it on your own number

Create a channel, link a WhatsApp number by QR or pairing code, and call the API in a couple of minutes. The Sandbox plan is free and needs no card.