Panel error - The JSON response from the API could not be parsed. Please check your API connection

Hi everyone,

I just set up Kirby on a new web hosting and I can’t publish anything via the panel, only create draft. When I try to publish, it throws an error : “The JSON response from the API could not be parsed. Please check your API connection.”

In the network tab, I see a PATCH request that get a code 403 :

The site is hosted on OVH.
PHP 7.1 (freshly updated)

Here is my .htaccess :

# Kirby .htaccess

# rewrite rules
<IfModule mod_rewrite.c>

# enable awesome urls. i.e.:
# http://yourdomain.com/about-us/team
RewriteEngine on

# make sure to set the RewriteBase correctly
# if you are running the site in a subfolder.
# Otherwise links or the entire site will break.
#
# If your homepage is http://yourdomain.com/mysite
# Set the RewriteBase to:
#
# RewriteBase /mysite

# In some environments it's necessary to
# set the RewriteBase to:
#
# RewriteBase /

# block files and folders beginning with a dot, such as .git
# except for the .well-known folder, which is used for Let's Encrypt and security.txt
RewriteRule (^|/)\.(?!well-known\/) index.php [L]

# block text files in the content folder from being accessed directly
RewriteRule ^content/(.*)\.(txt|md|mdown)$ index.php [L]

# block all files in the site folder from being accessed directly
# except for requests to plugin assets files
RewriteRule ^site/(.*) index.php [L]

# Enable authentication header
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

# block direct access to kirby and the panel sources
RewriteRule ^kirby/(.*) index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]

</IfModule>

# compress text file responses
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule> 

Something strange is that the same site works on another server. The problem may comes from the hosting. It is still running on an OVH subscription from 2010.

Any idea ? Thanks for your help.

Then PATCH requests are disabled on your server. Please get in touch with their support to find out if you or them can enable it.

Ok, I’ll see with them.

Thanks Texnixe

@Adrieng We will move to using only GET and POST requests with Kirby 3.4.

By chance, any idea about how to enable PATCH requests on a OVH web hosting ?

Shared hosting or a VPS? But no, I don’t. On some hosters, people could enable PATCH and DELETE requests via .htaccess, but in most cases, the hoster had to do that (if they are willing to).

Problem solved by disabling the “firewalls” that appears to be useless.

Thanks @texnixe