internal_error — Unexpected Wapito failure
What the API returns
{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side.",
"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
internal_error is an HTTP 500 error from the Wapito WhatsApp API: unexpected Wapito failure. The response message reads “Something went wrong on our side.” It is retryable: the same request can succeed later without changes. 4 endpoints can raise it, POST /messages/text among them.
Why it happens
The request was valid and the channel was fine, but something inside Wapito failed while handling it: a database write that did not complete, a bug in a transform, an assumption that a particular payload broke. Nothing about the request caused it and nothing in the body is there to fix. Every 500 is logged with its request_id and alerts the team, so the id in the response is the fastest route to an explanation if it keeps happening.
How to fix internal_error
Retry once after a few seconds; most 500s are a single failed call rather than a condition that persists, and a send that failed here never reached the queue.
If the same call fails repeatedly, keep the request_id from the error envelope and report it with the operation and the time - it maps directly to our logs.
Do not change the request to work around it; a 500 means the payload was accepted, and rewriting it only hides the report we need.
Endpoints that raise it
Where you will meet it
- Connect a Number
Feature guide
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.
Frequently asked questions
Was my message sent before the 500 came back?
For a send endpoint, no: the message is accepted onto the per-channel queue only once the whole request has succeeded, and a failure before that point leaves nothing queued. The one thing worth checking after a retry is your own idempotency, so a second attempt does not double-post to a group.
Should my code treat a 500 like a 502 from the engine?
Treat both as retryable with backoff, but read the code. A 502 engine_error says WhatsApp's side answered with something unexpected, which can be specific to that chat or media; a 500 internal_error is Wapito's own failure and is almost never tied to the content of the request, so a retry of the identical call is the right first move.
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.