Webflow sync, pageviews & more.
NEW

What could be causing the 406 error after form submission in Webflow?

TL;DR
  • Ensure the form uses Webflow's default form handling or confirm the third-party endpoint accepts Webflow's default application/x-www-form-urlencoded format.
  • Use browser DevTools to check request headers, especially the Accept and Content-Type headers.
  • Review server or API settings to ensure they support the submitted media type and aren’t overly restrictive.
  • Check for security tools or middleware that may block requests based on headers or content patterns.
  • Test submission with Webflow's native form settings to isolate if the issue is with the endpoint.

A 406 Not Acceptable error after form submission in Webflow typically means the server cannot return a response that matches the criteria defined by the client’s request headers, usually due to content type or format mismatches.

1. Check Form Action and Submission Method

  • Webflow-hosted forms use Webflow's built-in form handling. If you changed the Form Action (via the Form Settings panel or custom embed), Webflow no longer manages the submission.
  • If you're pointing the form to a third-party endpoint, confirm that the endpoint accepts the format Webflow sends (typically application/x-www-form-urlencoded by default).
  • Third-party APIs may expect a different format like JSON. If they do not accept the form submission as-is, the server may return a 406 error.

2. Inspect Accept Headers in the Browser

  • Use your browser’s Developer Tools > Network tab to preview the submission request.
  • Look at the Request Headers, especially the Accept header. It usually includes:
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  • If the endpoint strictly requires a particular content type—like only JSON—it may reject the request and trigger a 406.

3. Check Server Configuration or API Policy

  • A 406 may be triggered if the server is configured to reject certain accepted media types.
  • If you're using a custom backend, check its content negotiation policy or headers it expects in the request.
  • Some APIs may reject form submissions that are not sent with specific headers like Content-Type: application/json.

4. Look for Security Plugins or Middleware Blocking the Form

  • If your form points to a third-party CMS, API, or site with security layers (e.g., mod_security on Apache), the request may be blocked based on pattern matching or unexpected header values.
  • Webfirewalls or custom middleware may interpret Webflow form submissions as potential threats if they don’t meet expected formats.

5. Try a Webflow-native Form First

  • To isolate the issue, remove any custom action URLs and test the form using Webflow's default form submission feature (stored submissions).
  • If that works, the issue lies with the external endpoint or submission method, not Webflow.

Summary

A 406 error after form submission typically occurs when a third-party endpoint rejects the request due to content-type mismatch or unsupported headers. Test with a Webflow-native form, then verify that your external endpoint supports the format Webflow sends and isn't restricted by server settings or middleware.

Rate this answer

Other Webflow Questions