HTTP 415 Unsupported Media Type: What It Means and How to Fix It
DIRECT ANSWER
HTTP 415 Unsupported Media Type means the server rejected the request because the format or encoding of the submitted content is not supported for that resource. Confirm the request method, `Content-Type`, content encoding and endpoint requirements, then use response headers and logs to identify whether the application, web server, proxy, CDN or WAF returned the response. DNS and TLS can still be working because the request reached an HTTP endpoint.
Key takeaways
- HTTP 415 usually concerns the format or encoding of content sent in a request, such as JSON, XML, form data or an uploaded file.
- Check the exact URL, HTTP method, request headers and request body before changing server configuration.
- A browser page load may hide the underlying request; API clients, forms and upload endpoints are common places to investigate.
- Identify which layer generated the response by comparing response headers, timestamps and logs.
- Apply the narrowest correction and retest the same request; do not disable authentication or security controls merely to bypass the error.
Site Administrator
Last reviewed: September 25, 2026
What this error means & how to recognize it
- An API client, browser form, upload tool, monitoring check or application reports
415 Unsupported Media Type. - The response may affect one endpoint, HTTP method or request format while other pages and routes continue to work.
- A request may fail after changing the body format,
Content-Type, content encoding, upload type or client library. - Response headers may reveal the server, proxy or CDN that generated the response, along with caching, authentication, redirect or rate-limit context.
- DNS resolution and TLS negotiation may succeed because an HTTP response was received; those checks do not prove that the request content was acceptable.
Root causes, ordered by likelihood
- Unsupported request media type: The endpoint does not accept the value sent in
Content-Type, such as sending form data to a route that accepts JSON only. - Incorrect or missing request header: The client omits
Content-Type, sends a typo, or labels the body differently from its actual format. - Unsupported content encoding: The request uses a compression or transfer encoding that the receiving component cannot process.
- Wrong endpoint or method: A request is sent to a route that expects a different representation, upload format or HTTP method.
- Proxy, CDN, WAF or web-server validation: An intermediary rejects the request before it reaches the application, or applies rules that differ from the application’s documented requirements.
- Recent application or configuration change: A deployment, routing change, parser update, authentication integration or proxy rule changes which request formats are accepted.
The status code alone does not identify the responsible component. Confirm the request details and matching logs before treating authentication, permissions, limits or upstream configuration as the cause.
How to fix it
For visitors and non-technical users
- Retry the exact action once. Confirm the URL and, if applicable, the upload or form action you selected. Avoid repeatedly submitting the same request.
- Use the normal sign-in flow. If the endpoint requires an account, sign in through the site’s regular interface rather than manually changing request headers or cookies.
- Check the submitted file or content. If the error occurs during an upload or form submission, use the format requested by the site and avoid renaming a file without converting it.
- Try the site’s supported interface. If an API tool, browser extension or custom integration fails, compare it with the site’s normal web form or application.
- Contact the site owner if it persists. Include the affected URL or feature, approximate time, HTTP 415 result and the action that failed. Do not send passwords, cookies, authorization tokens or private file contents.
For developers and API clients
- Capture the complete request shape. Record the method, URL path, query parameters,
Content-Type, content encoding, relevantAcceptvalue and a sanitized description of the body. Do not log secrets or personal data unnecessarily. - Compare the request with the endpoint contract. Verify that the route and method accept the representation being sent. For example, confirm whether the endpoint expects JSON, form-encoded data, multipart form data, XML or a particular upload format.
- Make the declaration match the body. Do not label form data as JSON or send a compressed body without the corresponding supported encoding. Let the client library construct multipart boundaries when it provides that feature.
- Use a minimal reproduction. Remove optional fields and unrelated middleware where possible, then repeat the same request with a known-supported body. Preserve the original request for comparison.
- Inspect the response. Check status,
Content-Type, caching indicators, server or proxy identifiers, redirects and any error body. A response generated by a gateway may not reflect the application’s own validation. - Check logs at the responsible layer. Match the request timestamp, route and correlation or request identifier against application, web-server, reverse-proxy, CDN or WAF logs.
- Apply the narrowest fix. Correct the client header, serializer, upload format, route contract or narrowly scoped intermediary rule. Do not broadly disable validation, authentication or security filtering as a first response.
- Retest and check adjacent behavior. Repeat the original request, then test the same endpoint with its supported formats and verify that related routes still return their intended status codes.
For site owners and operators
- Reproduce the failure from the same client type and request method, capturing sanitized headers and timing.
- Determine whether the 415 was generated by the application, web server, reverse proxy, CDN or WAF by comparing response headers and logs at each layer.
- Review recent deployments and changes to routing, request parsing, upload handling, proxy forwarding, content encoding and security rules.
- Confirm that caches or intermediaries are not serving an inappropriate stored response for the request.
- Correct the specific route or client contract, document accepted formats, and retain enough logs to confirm the fix.
- If the request is intentionally unsupported, ensure the endpoint behavior and client-facing documentation make the accepted format clear.
Prevention & how to verify the fix
- Document the accepted HTTP methods, media types, encodings and upload formats for each important endpoint.
- Use automated tests for representative JSON, form, multipart and other supported request types after application or proxy changes.
- Keep routing, request parsing, proxy, CDN and WAF configuration under version control with reviewable changes.
- Monitor status codes by route and method rather than treating all 4xx responses as one category.
- Keep correlation IDs and appropriately sanitized application and intermediary logs available for the relevant retention period.
- Make client integrations fail clearly when the server’s accepted media types change, and test them against the documented contract.
When to get outside help
Escalate to the site owner or service operator when a supported request unexpectedly returns 415, an important public endpoint affects many users, or the response began after a deployment or proxy/CDN change. Involve the team responsible for the layer identified by the logs. Share the sanitized method, route, media type, encoding, timestamp, response headers and request or correlation ID; never share passwords, session cookies, API keys or authorization tokens.
Frequently asked questions
Is HTTP 415 the same as a bad URL?
Not usually. A bad URL can lead to another status such as 404, while HTTP 415 indicates that the receiving endpoint rejected the request’s media type or encoding. The route and method should still be verified because sending a valid format to the wrong endpoint can produce this response.
What should I check first in an API request returning 415?
Compare the request body with its Content-Type header and the endpoint’s documented requirements. Check whether the client is sending JSON, form data, multipart data or another format that the route actually accepts.
Can HTTP 415 happen when DNS and TLS are working?
Yes. DNS and TLS are separate stages. Receiving an HTTP 415 generally indicates that the request reached an HTTP-speaking endpoint, but it does not show that the application accepted the request content.
Can a proxy or CDN return HTTP 415?
Yes. A reverse proxy, CDN, WAF or web server can reject a request before it reaches the application. Response headers and timestamp-matched logs help identify which layer produced the response.
Should I change the server to accept every content type?
No. Broadened parsing or security rules can introduce compatibility and security problems. First identify the required representation and make the client, endpoint contract or narrowly scoped intermediary rule agree with it.
Does HTTP 415 mean the whole website is down?
No. It may affect only one URL, HTTP method, client or request format. Other pages and API routes can remain available.
Further documentation
- MDN Web Docs — HTTP 415 Unsupported Media Type: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/415
- RFC 9110 — HTTP Semantics: https://www.rfc-editor.org/rfc/rfc9110
For implementation details, consult the documentation for the affected API or web framework, HTTP client, reverse proxy, CDN or WAF, especially its guidance on accepted media types, request content encoding and request parsing.