Saltar al contenido

4xx · Errores del cliente

Error 422 Unprocessable Content: qué significa y cómo solucionarlo

El error 422 Unprocessable Content (antes Unprocessable Entity) significa que el servidor ha entendido la petición y su formato es correcto, pero los datos no pasan la validación: un email sin @, una fecha imposible o un campo obligatorio vacío. FastAPI y Rails lo usan por defecto para los errores de validación.

Qué significa el código 422

Separa dos problemas: si el JSON ni siquiera se puede leer, es 400; si se lee pero los valores no son válidos, es 422. FastAPI devuelve en "detail" una lista con cada campo que falla y por qué.

Causas habituales del error 422

  • Campos obligatorios ausentes o con tipo incorrecto en una API con validación (Pydantic, Joi, Zod).
  • Valores fuera de rango o con formato inválido.

Cómo solucionar el error 422

  • Lee el cuerpo de la respuesta: indica el campo exacto (loc) y el motivo (msg).
  • En FastAPI, comprueba que envías JSON en el cuerpo y no como parámetros de la URL.

Configuración y comandos

Respuesta típica de FastAPI

json
{
  "detail": [
    {"type": "missing", "loc": ["body", "email"], "msg": "Field required"}
  ]
}

Ejemplo de respuesta

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

Herramientas para comprobarlo

Preguntas frecuentes

¿Por qué FastAPI me devuelve 422?

Porque los datos recibidos no coinciden con el modelo Pydantic del endpoint. El campo detail indica exactamente qué falta o qué tipo es incorrecto.

Códigos relacionados

Ver todos los códigos de estado HTTP