Signification
Le serveur refuse la requête car le type de média du corps (Content-Type) ou son encodage n'est pas pris en charge.
Causes courantes
- Envoi de JSON sans Content-Type: application/json
- Corps de formulaire envoyé à une API qui n'accepte que JSON
- Content-Encoding non pris en charge, comme brotli, lors d'un envoi
Comment corriger
Côté client ou visiteur
Définissez le bon en-tête Content-Type pour le corps envoyé et respectez le format documenté par l'API.
Côté propriétaire du site ou de l’API
Listez les types acceptés dans Accept-Post ou Accept-Patch, et donnez un message clair.
Exemple de réponse
HTTP/1.1
HTTP/1.1 415 Unsupported Media Type
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Accept-Post: application/json
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Unsupported Media Type",
"status": 415,
"detail": "Send the body as application/json."
} Spécification
FAQ
› Pourquoi fetch() reçoit-il 415 avec un corps JSON ?
fetch envoie text/plain pour les corps textuels sauf si vous définissez headers: {'Content-Type': 'application/json'}.
› 415 ou 400 ?
415 concerne précisément un mauvais type de corps ; 400 une requête mal formée en général.