What 426 means
For example, the server requires TLS or a newer HTTP version. The Upgrade header says which.
Common causes
- A plain-HTTP request to an HTTPS-only service.
- An outdated protocol version.
How to fix it
If you're calling an API
- Use the protocol in the Upgrade header (often switching to https://).
If you run the server
- Send an Upgrade header naming the required protocol.
Should you retry?
With the upgraded protocol.
Example response
HTTP/1.1 426 Upgrade Required
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Upgrade Required",
"status": 426,
"detail": "The server needs the client to switch to a different protocol."
}Related headers: Upgrade.
Defined in: RFC 9110 (HTTP Semantics). 426 is a client error: change the request before retrying.
Debugging an API call? Convert your request with the cURL converter, check the response with the JSON formatter, or see whether the API is down on its status page.