# 422 Unprocessable Content : syntaxe valide, données invalides

> 422 Unprocessable Content : la requête est bien formée mais ses données ne peuvent pas être traitées, en général parce qu’elles échouent à la validation.

URL: https://yes-seo.com/fr/codes-http/422

**422 Unprocessable Content** signifie que le serveur a compris la requête et que son format est correct, mais que les données qu’elle contient n’ont pas de sens : un champ e-mail sans adresse e-mail, une date de fin antérieure à la date de début, une quantité de −3. C’est la réponse standard aux erreurs de validation dans les API modernes.

## Définition

La [RFC 9110, section 15.5.21](https://www.rfc-editor.org/rfc/rfc9110#section-15.5.21) indique que le serveur comprend le type de contenu et que la syntaxe est correcte, mais qu’il « n’a pas pu traiter les instructions contenues ». Ce code est né dans WebDAV (RFC 4918) sous le nom « Unprocessable Entity », que de nombreux frameworks emploient encore ; la RFC 9110 l’a renommé et l’a intégré au HTTP de base.

La frontière entre 400 et 422 : [400](https://yes-seo.com/fr/codes-http/400) concerne les requêtes cassées (JSON mal formé, syntaxe invalide), 422 les requêtes bien formées mais sémantiquement fausses. Utilisez [409](https://yes-seo.com/fr/codes-http/409) quand le problème est un conflit avec l’état actuel de la ressource.

## Où vous le rencontrerez

- **Laravel** renvoie 422 avec un objet `errors` quand la validation échoue sur une requête JSON.

- **Ruby on Rails** : les applications affichent les enregistrements de formulaire échoués avec le statut « unprocessable ».

- **FastAPI** répond 422 quand les données de la requête ne correspondent pas au modèle déclaré.

- **IndexNow** renvoie 422 quand les URL soumises n’appartiennent pas à l’hôte ou que la clé ne correspond pas.

## Impact SEO

Aucun pour les pages ordinaires : les robots n’envoient ni formulaires ni données d’API. Une URL publique qui renvoie 422 à un GET est cassée, et Google la traiterait comme un 4xx et la retirerait. Le 422 touche le SEO au moment de la soumission d’URL. Si [IndexNow](https://yes-seo.com/fr/glossaire/indexnow) rejette votre lot, vérifiez que chaque URL se trouve sur le même hôte que votre fichier de clé. L’[outil d’envoi IndexNow](https://yes-seo.com/fr/soumission-indexnow) permet de vérifier le fichier de clé avant l’envoi.

## Comment le corriger

En tant que client, lisez le corps de la réponse : un bon 422 nomme chaque champ en échec et la raison. En tant que développeur d’API, renvoyez des erreurs lisibles par machine, champ par champ, comme le fait Laravel par défaut :

```
HTTP/1.1 422 Unprocessable Content
Content-Type: application/json

{
  "message": "The email field must be a valid email address.",
  "errors": {
    "email": ["The email field must be a valid email address."]
  }
}
```

Pour confirmer que vos pages publiques ne sont pas touchées, passez-les dans le [vérificateur de statut HTTP](https://yes-seo.com/fr/verificateur-code-http).

## Questions fréquentes

### Quelle est la différence entre 400 et 422 ?

400 signifie que la requête est mal formée, par exemple un JSON invalide. 422 signifie que la requête est bien formée, mais que les valeurs échouent à la validation ou aux règles métier.

### Pourquoi IndexNow renvoie-t-il 422 ?

IndexNow utilise 422 quand les URL soumises n’appartiennent pas à l’hôte pour lequel vous les avez soumises, ou quand la clé ne correspond pas. Soumettez les URL d’un seul hôte à la fois, avec le fichier de clé hébergé sur ce même hôte.

### « Unprocessable Entity » est-il identique à « Unprocessable Content » ?

Oui. Les deux désignent le statut 422. La RFC 9110 a renommé la formule d’origine de WebDAV, et de nombreux frameworks utilisent encore l’ancien nom.

