Summary of Unsupported media type
- How to fix 415 error?
- What is a 415 error?
- What does the 415 code mean?
- What is the reason code 415?
Search Results
AI Overview
AI Overview
A
415 Error is an HTTP status code that means “Unsupported Media Type”. The server refuses to accept the request because the format of the data (the “payload”) being sent is in a format not supported by the server for the given operation.
Common Causes
The error typically results from a mismatch between what the client sends and what the server is configured to accept. Common causes include:
Incorrect Content-Type header: The most frequent cause is when the Content-Type header in the request does not match the actual data format being sent. For example, sending JSON data but specifying text/plain as the content type.
Unsupported media type: The server’s configuration does not support the specific media type (MIME type) indicated in the request header. For instance, an API might only accept application/json but the client sends application/xml.
Incorrect Content-Encoding header: The data is compressed or encoded in a way the server does not understand or is not configured to decode (e.g., using gzip without the server having the necessary module enabled).
Typos or non-standard naming: Simple errors like using charset=UTF8 instead of the standard charset=UTF-8 can cause the server to reject the request.
How to Fix a 415 Error
Fixing the error involves ensuring the client and server agree on the data format and encoding.
Verify the Content-Type header: Double-check that the Content-Type header in your request is present and correctly specifies the format of the data you are sending (e.g., application/json for JSON data).
Check the server’s accepted types: Consult the API documentation or use tools like browser developer tools (in the Network tab) to see what media types the server actually expects or is willing to process. The Accept header in the server’s response can provide hints on the expected input format.
Ensure correct encoding: If you are using compression, ensure the Content-Encoding header is correct and that the server is configured to handle that specific encoding format.
Correct client-side configuration: If using a client-side tool or library (like Postman or a specific programming library), make sure it is configured to send the correct headers and data format. For example, in Postman, ensure you select “JSON” from the dropdown menu for the body type instead of the default “Text”.
Update server configuration: If you control the server, you may need to update its configuration files (e.g., in Apache or Nginx) to support the required media type or encoding.
415 Unsupported Media Type – KeyCDN Support
May 5, 2023 — 415 Unsupported Media Type. … As a website owner or developer, you know how frustrating it can be when your website doesn’t func…
KeyCDN
Resolving the HTTP 415 Error on Your Website – 10Web
Mar 1, 2024 — Resolving the HTTP 415 Error on Your Website * What is the HTTP 415 error? * Variations of this error. * Reasons why this error oc…
10Web
What Is a 415 Status Code? Causes, Fixes, and Best Practices
Jul 7, 2025 — Key Takeaways * The 415 status code indicates that the server can’t handle the format due to a wrong or missing header. * Always v…
IPRoyal.com
Show more
Hi folks. I am getting a weird encoding error from my script which makes nonsense. in a nutshell the error code is 415 unsupported media type. which makes no sense because my content-type is explicitly set.
within a function() the below are set
const params = {
headers: {
'Authorization': 'Bearer ' + api_token,
'Content-Type': 'application/json', // Content-Type is being ignored and payload is being decoded as x-www-form-urlencoded which is not supported. Check with Dev
},
const data = JSON.stringify({
"stuff": `${stuff}`,
.....
});
return http.post(url, params, data); produces 415 error
however at k6 runtime I get the following error log which shows the the content-type was translated as something other than application/json. also the header is encoded?? why does the body in the request contain the header key/values?
"error": "",
"error_code": <bad error#>,
"request": {
"method": "POST",
"url": "http://url.com",
"headers": {
"Content-Type": [
"application/x-www-form-urlencoded"
],
"User-Agent": [
"k6/0.37.0 (https://k6.io/)"
]
},
"body": "headers=map%5BAuthorization%3ABearer+"<data-redacated>"+Content-Type%3Aapplication%2Fjson%5D",
"cookies": {}
}
}
when I swap the function inputs I get 400 errors? which is better than 415 of course. How do I find out the order for values passed into the http class/function.
return http.post(url, data, params); produces 400 error
Asked and answered… – post( url, [body], [params] ) which solves my problem with media type and http.post class input order.
However any comments are welcome
3
You beat me to it!
A HTTP 400 “Bad Request” typically means there’s something wrong with the POST data, i.e. your JSON payload. It would be difficult to tell you what exactly that might be (we’d need to reproduce the problem, and ideally also see a working example).