406 Not Acceptable

The server cannot produce a response matching the client's Accept header.

Last updated . How this page is checked.

Status code406
Status textNot Acceptable
Category4xx Client Error
Response has bodyUsually
SpecificationRFC 9110

What does 406 Not Acceptable mean?

The server cannot produce a response matching the client's Accept header. It belongs to the 4xx Client Error class, which means the request contains bad syntax or cannot be fulfilled. Something about the request needs to change.

When do APIs return 406?

You asked for a content type the endpoint does not produce.

How to fix a 406 Not Acceptable

Relax or correct your Accept header. application/json is the safe default for most APIs.

Reproduce a 406 response

The fastest way to understand a status code is to trigger one and read the full response. Open the API tester and send a request to https://httpbin.org/status/406 — you will see the 406 status along with every response header the server sent. Comparing those headers against a working request is often what reveals the cause.

When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.

Related 4xx status codes

406 Not Acceptable FAQ

What causes a 406 Not Acceptable error?

The Accept header, or Accept-Language or Accept-Encoding, asked for a format the server cannot produce. A typical case is requesting application/xml from an API that only returns JSON.

What is the difference between 406 and 415?

406 is about the response: the server cannot return a format you said you would accept. 415 Unsupported Media Type is about the request: the server cannot read the format of the body you sent.

How do I fix a 406 error?

Loosen or correct the Accept header. Sending Accept: application/json, or */* to accept anything, resolves most cases. If a firewall is returning the 406, its rules are rejecting the request for another reason.

References