426 Upgrade Required
Meaning
The server refuses to perform the request using the current protocol but might do so if the client upgrades to a different protocol. The server sends an Upgrade header in the response to indicate the required protocol(s).
When to Use
When a client needs to switch to a different protocol (such as TLS/HTTPS or a newer HTTP version) to access the resource. The server includes an Upgrade or similar header to specify what protocol to use.
Example
An HTTP server might return 426 Upgrade Required if a client tries to use a plain HTTP connection for an endpoint that mandates HTTPS, possibly with a header suggesting "Upgrade: TLS/1.2".
When Not to Use
Do not use if the request can be handled over the current protocol. This is specific to scenarios requiring protocol change. For example, don't use 426 just to suggest a newer API version (that should use application-level versioning logic or 301 redirects).
Source
RFC 2817