Not Acceptable
What 406 Means
The 406 error on the HTTP Status-Codes indicates not acceptable. This typically occurs due to unsupported accept header format.
The 406 error occurs during content negotiation when the server cannot generate a response format that matches the client's Accept headers.
Technical Background
HTTP allows clients to request specific data representations. If the server cannot fulfill these rigid requirements, it returns a 406.
Normally, if a server can't match the preference, it falls back to a default format instead of throwing this error, making 406 relatively rare.
Common Causes
- Unsupported Accept header format
- Unsupported language requested
- Unsupported character set requested
Typical Scenarios
- A client requests application/json but the endpoint only spits out text/xml.
- A browser explicitly asks for French (fr-FR), but the site is solely available in English.
What to Know
Adjust the Accept, Accept-Language, or Accept-Charset headers in your HTTP request to include types the server actually supports.
Frequently Asked Questions
Common questions about HTTP 406 error
Ensure your request's Accept headers are broad enough (like */*) or specify formats the API is documented to return.