[{"data":1,"prerenderedAt":122},["ShallowReactive",2],{"pseo:errors:internal-error":3,"highlight:error:internal-error":116},{"cause":4,"code":5,"example":6,"faqs":10,"feature":17,"fix_steps":21,"http_status":25,"message":8,"protocol_aliases":26,"raised_by":27,"related":58,"retryable":95,"seo":96,"slug":113,"tier":114,"title":115,"updated":111,"url":107},"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.","internal_error",{"error":7},{"code":5,"message":8,"request_id":9},"Something went wrong on our side.","req_01JRQ8F4X9N2K7YB3C5V6W8H0T",[11,14],{"a":12,"q":13},"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.","Was my message sent before the 500 came back?",{"a":15,"q":16},"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.","Should my code treat a 500 like a 502 from the engine?",{"name":18,"slug":19,"url":20},"Connect a Number","connect-number-qr-pairing","\u002Fwhatsapp-api\u002Fconnect-number-qr-pairing\u002F",[22,23,24],"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.",500,[],[28,37,44,52],{"availability":29,"ban_risk":30,"method":31,"operationId":32,"path":33,"summary":34,"tag":35,"url":36},"ga","medium","POST","sendText","\u002Fmessages\u002Ftext","Send a text message","messages","\u002Fdocs\u002Fapi\u002Fmessages\u002Fsend-text\u002F",{"availability":29,"ban_risk":38,"method":31,"operationId":39,"path":40,"summary":41,"tag":42,"url":43},"high","createGroup","\u002Fgroups","Create a group","groups","\u002Fdocs\u002Fapi\u002Fgroups\u002Fcreate-group\u002F",{"availability":29,"ban_risk":45,"method":46,"operationId":47,"path":48,"summary":49,"tag":50,"url":51},"low","GET","getChannelHealth","\u002Fchannel\u002Fhealth","Check channel and engine health","channel","\u002Fdocs\u002Fapi\u002Fchannel\u002Fget-channel-health\u002F",{"availability":29,"ban_risk":45,"method":31,"operationId":53,"path":54,"summary":55,"tag":56,"url":57},"uploadMedia","\u002Fmedia","Upload a file","media","\u002Fdocs\u002Fapi\u002Fmedia\u002Fupload-media\u002F",{"glossary":59,"hub":69,"operations":70,"pillar":20,"siblings":79},[60,63,66],{"title":61,"url":62},"Pairing code","\u002Fglossary\u002Fpairing-code\u002F",{"title":64,"url":65},"QR linking","\u002Fglossary\u002Fqr-linking\u002F",{"title":67,"url":68},"Session","\u002Fglossary\u002Fsession\u002F","\u002Fdocs\u002Ferrors\u002F",[71,73,75,77],{"title":72,"url":36},"POST \u002Fmessages\u002Ftext",{"title":74,"url":43},"POST \u002Fgroups",{"title":76,"url":51},"GET \u002Fchannel\u002Fhealth",{"title":78,"url":57},"POST \u002Fmedia",[80,83,86,89,92],{"title":81,"url":82},"engine_unsupported_feature (501)","\u002Fdocs\u002Ferrors\u002Fengine-unsupported-feature\u002F",{"title":84,"url":85},"feature_not_available (501)","\u002Fdocs\u002Ferrors\u002Ffeature-not-available\u002F",{"title":87,"url":88},"engine_error (502)","\u002Fdocs\u002Ferrors\u002Fengine-error\u002F",{"title":90,"url":91},"engine_unavailable (503)","\u002Fdocs\u002Ferrors\u002Fengine-unavailable\u002F",{"title":93,"url":94},"engine_timeout (504)","\u002Fdocs\u002Ferrors\u002Fengine-timeout\u002F",true,{"breadcrumb":97,"canonical":108,"description":109,"h1":110,"lastmod":111,"title":112},[98,101,104,106],{"name":99,"url":100},"Home","\u002F",{"name":102,"url":103},"Docs","\u002Fdocs\u002F",{"name":105,"url":69},"Errors",{"name":5,"url":107},"\u002Fdocs\u002Ferrors\u002Finternal-error\u002F","https:\u002F\u002Fwapito.com\u002Fdocs\u002Ferrors\u002Finternal-error\u002F","500 internal_error: Something went wrong on our side. Nothing about the request caused it and nothing in the body is there to fix.","internal_error — Unexpected Wapito failure","2026-09-17","internal_error (500): Unexpected Wapito failure | Wapito","internal-error","t8","Unexpected Wapito failure",[117],{"label":118,"id":119,"lang":119,"code":120,"html":121},"JSON","json","{\n  \"error\": {\n    \"code\": \"internal_error\",\n    \"message\": \"Something went wrong on our side.\",\n    \"request_id\": \"req_01JRQ8F4X9N2K7YB3C5V6W8H0T\"\n  }\n}","\u003Cpre class=\"shiki shiki-themes github-light-default github-dark-default\" style=\"background-color:#ffffff;--shiki-dark-bg:#0d1117;color:#1f2328;--shiki-dark:#e6edf3\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">{\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#116329;--shiki-dark:#7EE787\">  \"error\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">: {\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#116329;--shiki-dark:#7EE787\">    \"code\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\">\"internal_error\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#116329;--shiki-dark:#7EE787\">    \"message\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\">\"Something went wrong on our side.\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">,\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#116329;--shiki-dark:#7EE787\">    \"request_id\"\u003C\u002Fspan>\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">: \u003C\u002Fspan>\u003Cspan style=\"color:#0A3069;--shiki-dark:#A5D6FF\">\"req_01JRQ8F4X9N2K7YB3C5V6W8H0T\"\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">  }\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan style=\"color:#1F2328;--shiki-dark:#E6EDF3\">}\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>",1790464915959]