MockFoxAdvertise

HTTP 426 Upgrade Required

Updated Free mock REST & WebSocket APIs

HTTP 426 Upgrade Required — The server refuses to handle the request over the current protocol; the Upgrade header names the required one.

Class
4xx Client Error
Defined in
RFC 9110 §15.5.22
Official
Yes (IANA registry)
Cacheable by default
No (unless Cache-Control/Expires say so)
Safe to retry
Not without changing the request

Try it: get a real 426 response

Our test endpoint answers every request with 426 Upgrade Required.

curl -i https://mockfox.dev/api/status/426

Use it in tests, health-check monitors or to see how your client handles a 426. Add ?delay=2000 to slow it down.

What does HTTP 426 mean?

Sent with Upgrade: TLS/1.2, HTTP/1.1 or similar when a client must switch protocols — for example a WebSocket endpoint hit with a plain HTTP request, or a server requiring HTTP/2. Node's ws library and many WebSocket servers return 426 for non-upgrade requests.

How to fix 426

  1. Visitors: Reload the page, check the address for typos, and clear the site's cookies. If it persists, the site owner needs to fix it.
  2. Developers: Read the response body and server logs for details, fix the request (method, headers, body, credentials) and return a clear error message to clients.

Example 426 response

HTTP/1.1 426 Upgrade Required
Upgrade: HTTP/2.0
Connection: Upgrade
Content-Type: application/json

{"status":426,"error":"Upgrade Required"}

4xx Client Error: The request contains an error or can't be fulfilled — fix the request before retrying. See the full list of HTTP status codes.

Related status codes

Related tools

Frequently asked questions

What does HTTP 426 Upgrade Required mean?

The server refuses to handle the request over the current protocol; the Upgrade header names the required one.

Is 426 a client or a server error?

426 is a 4xx code, so it signals a problem with the request (as seen by the server). Retrying the identical request usually gives the same result.

Where is 426 defined?

In RFC 9110 §15.5.22. It's listed in the IANA HTTP Status Code Registry.

How can I test how my app handles a 426?

Call https://mockfox.dev/api/status/426 — it responds with 426 to any method, with CORS enabled. Add ?delay=2000 to simulate a slow response.