
You send data to a server, perhaps a JSON payload, an XML file or an upload form, and immediately get back an error: 415 Unsupported Media Type.
No broken endpoint, no server error. The server does understand that you try to send something, but can't do anything with it. And that usually has to do with the way you package it.
Status code 415 means that the supplied media type is not supported. Not because it is unsafe, but because the server does not know what to do with it, or simply is not configured to accept it.
Why does a 415 status code arise?
The error occurs when the Content-Type header in your HTTP request does not match what the server accepts. For example:
- You send JSON, but forget to add Content-Type: application/json
- You use text/xml, while the backend only accepts application/xml
- You post raw text to an endpoint that expects a formatted structure
The server checks your headers, sees an unknown or unwanted type, and aborts processing.
In tools like Postman, you will then immediately see a 415 status code appear. Curl does the same, usually without explanation. Some servers send an extra hint along with the response body, such as:
{
"error": "Unsupported Media Type",
"expected": "application/json"
}
What can you do to solve it?

The first step is simple: check the Content-Type header. It should match exactly what the endpoint expects. A small error in spelling or subtype can be enough to trigger a status code 415.
For example:
- For JSON: Content-Type: application/json
- For file uploads: Content-Type: multipart/form-data
- For classic forms: application/x-www-form-urlencoded
Also note the combination with the actual payload. It makes little sense to send application/json along if your body just contains plain text. Some frameworks still try a fallback, but many APIs are strict.
Where do you encounter this error?
Especially in APIs, and especially in endpoints that process data in structured form. Think REST APIs, GraphQL entries or upload interfaces.
Frontend frameworks can also cause the error if they set headers incorrectly. For example, with fetch() in JavaScript, where the Content-Type is not explicitly specified while the body is already being pushed as JSON.
Thus, once client and server do not understand each other in terms of format, you get a 415 status code.
In conclusion
The 415 status code does not mean that your request is wrongly constructed, but that the packaging is wrong. You're telling the server something, but in a language it doesn't speak.
It's technically a simple error, but one that's easy to overlook. Especially with WooCommerce imports or WordPress uploads, it's a classic example of "format is not right". With the right WordPress Hosting, WooCommerce Hosting and Cloud Hosting prevent small header errors from having a big impact.
Got a 415 to deal with? Check your headers, see what the API expects, and make sure your data format and your metadata understand each other. It's usually resolved before you know it, if you know where to look.