Skip to main content
Question

GET request to WordPress REST API always returns 406 in ManyChat, but 200 in browser

  • May 22, 2026
  • 1 comment
  • 5 views

Keletch

I'm integrating WooCommerce with ManyChat using a custom WordPress REST API endpoint. The endpoint returns order data as JSON. When I open the URL directly in the browser it responds with 200 OK and the correct JSON. But when ManyChat makes the GET request, it always shows 406 Not Acceptable, even though the response body contains the correct JSON data and the field mapping never saves.

My original endpoint returns full order data:

GET https://examplestore.com/wp-json/wc-manychat/v1/order/1531
Response body: {"order_id":"1531","status":"processing","products":"..."}
ManyChat shows: 406 Not Acceptable
Browser shows: 200 OK

To rule out my code as the problem, I simplified it to the most minimal endpoint possible:

GET https://examplestore.com/wp-json/test/v1/ping
Response body: {"status":"ok"}
ManyChat shows: 406 Not Acceptable
Browser shows: 200 OK

I've already tried:

  • Adding Accept: application/json header in ManyChat
  • Disabling all security plugins (Wordfence, Cloudflare WAF rules)
  • Using WP_REST_Response with explicit 200 status
  • Moving code from plugins to functions.php
  • status_header(200) inside the callback

 

Nothing works. The body always arrives correctly but ManyChat reports 406 and the response mapping never saves.

Is this a known issue with WordPress + ManyChat? Has anyone found a fix?

1 reply

Keletch
  • Author
  • Up-and-comer
  • May 22, 2026

Nevermind, I’m already solve it, you can erase this Q&A please