[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"pseo:errors:invalid-request":3,"highlight:error:invalid-request":123},{"cause":4,"code":5,"example":6,"faqs":10,"feature":17,"fix_steps":21,"http_status":25,"message":8,"protocol_aliases":26,"raised_by":28,"related":63,"retryable":102,"seo":103,"slug":120,"tier":121,"title":122,"updated":118,"url":114},"Wapito validates every request body, query string and path parameter against the published OpenAPI schema before the WhatsApp engine is touched at all. This status means a required field was absent, a value had the wrong type, an enum value was not one of the allowed strings, or an array broke its length limit. The offending paths are listed one by one in details.issues, so you never have to guess which field the API disliked.","invalid_request",{"error":7},{"code":5,"message":8,"request_id":9},"The request payload failed validation.","req_01JRQ8F4X9N2K7YB3C5V6W8H0T",[11,14],{"a":12,"q":13},"Because the field is required. The validator reports the path it expected to find, not the path you supplied, so a missing required key shows up as an issue on that key with a message about it being required. Add the key with a valid value and the request goes through.","Why does details.issues sometimes list a field I did not send?",{"a":15,"q":16},"No. Nothing about the request will change on a second attempt, so a retry only burns quota and adds latency. Log the issues array, fix the payload in code, and deploy. Reserve retries for 429, 503 and 504, which really are transient.","Should my code retry a 400 invalid_request?",{"name":18,"slug":19,"url":20},"Create Group","create-group","\u002Fwhatsapp-api\u002Fcreate-group\u002F",[22,23,24],"Read details.issues: each entry names the exact path, such as participants.0, and what was expected there.","Compare your body against the request schema for that operation in the API reference, paying attention to types - ids and timestamps are strings, never numbers.","Send Content-Type: application\u002Fjson and a real JSON body; a form-encoded body or a body serialised twice arrives as a string and fails the same way.",400,[27],"WAHA 422 Unprocessable Entity",[29,38,43,50,57],{"availability":30,"ban_risk":31,"method":32,"operationId":33,"path":34,"summary":35,"tag":36,"url":37},"ga","high","POST","createGroup","\u002Fgroups","Create a group","groups","\u002Fdocs\u002Fapi\u002Fgroups\u002Fcreate-group\u002F",{"availability":30,"ban_risk":31,"method":32,"operationId":39,"path":40,"summary":41,"tag":36,"url":42},"addGroupParticipants","\u002Fgroups\u002F{id}\u002Fparticipants","Add participants to a group","\u002Fdocs\u002Fapi\u002Fgroups\u002Fadd-group-participants\u002F",{"availability":30,"ban_risk":44,"method":32,"operationId":45,"path":46,"summary":47,"tag":48,"url":49},"medium","sendText","\u002Fmessages\u002Ftext","Send a text message","messages","\u002Fdocs\u002Fapi\u002Fmessages\u002Fsend-text\u002F",{"availability":30,"ban_risk":51,"method":32,"operationId":52,"path":53,"summary":54,"tag":55,"url":56},"low","createWebhook","\u002Fwebhooks","Create a webhook","webhooks","\u002Fdocs\u002Fapi\u002Fwebhooks\u002Fcreate-webhook\u002F",{"availability":30,"ban_risk":51,"method":58,"operationId":59,"path":60,"summary":61,"tag":36,"url":62},"PATCH","updateGroupSettings","\u002Fgroups\u002F{id}\u002Fsettings","Change group security settings","\u002Fdocs\u002Fapi\u002Fgroups\u002Fupdate-group-settings\u002F",{"glossary":64,"hub":74,"operations":75,"pillar":20,"siblings":86},[65,68,71],{"title":66,"url":67},"JID","\u002Fglossary\u002Fjid\u002F",{"title":69,"url":70},"Group admin","\u002Fglossary\u002Fgroup-admin\u002F",{"title":72,"url":73},"Invite code","\u002Fglossary\u002Finvite-code\u002F","\u002Fdocs\u002Ferrors\u002F",[76,78,80,82,84],{"title":77,"url":37},"POST \u002Fgroups",{"title":79,"url":42},"POST \u002Fgroups\u002F{id}\u002Fparticipants",{"title":81,"url":49},"POST \u002Fmessages\u002Ftext",{"title":83,"url":56},"POST \u002Fwebhooks",{"title":85,"url":62},"PATCH \u002Fgroups\u002F{id}\u002Fsettings",[87,90,93,96,99],{"title":88,"url":89},"invalid_recipient (400)","\u002Fdocs\u002Ferrors\u002Finvalid-recipient\u002F",{"title":91,"url":92},"unauthorized (401)","\u002Fdocs\u002Ferrors\u002Funauthorized\u002F",{"title":94,"url":95},"token_revoked (401)","\u002Fdocs\u002Ferrors\u002Ftoken-revoked\u002F",{"title":97,"url":98},"plan_required (402)","\u002Fdocs\u002Ferrors\u002Fplan-required\u002F",{"title":100,"url":101},"forbidden (403)","\u002Fdocs\u002Ferrors\u002Fforbidden\u002F",false,{"breadcrumb":104,"canonical":115,"description":116,"h1":117,"lastmod":118,"title":119},[105,108,111,113],{"name":106,"url":107},"Home","\u002F",{"name":109,"url":110},"Docs","\u002Fdocs\u002F",{"name":112,"url":74},"Errors",{"name":5,"url":114},"\u002Fdocs\u002Ferrors\u002Finvalid-request\u002F","https:\u002F\u002Fwapito.com\u002Fdocs\u002Ferrors\u002Finvalid-request\u002F","400 invalid_request: The request payload failed validation. 3 fix steps for the Wapito WhatsApp API. What causes it and how to fix it.","invalid_request — Request failed validation","2026-09-15","invalid_request (400): Request failed validation | Wapito","invalid-request","t8","Request failed validation",[124],{"label":125,"id":126,"lang":126,"code":127,"html":128},"JSON","json","{\n  \"error\": {\n    \"code\": \"invalid_request\",\n    \"message\": \"The request payload failed validation.\",\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\">\"invalid_request\"\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\">\"The request payload failed validation.\"\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>",1790464915374]