Códigos de Error
Códigos de Error
Tabla de códigos
| Código | Significado | Causa común |
|---|---|---|
400 | Bad Request | Datos inválidos, password débil, parámetros incorrectos |
401 | Unauthorized | Token faltante, inválido o expirado |
403 | Forbidden | No tienes permiso para esta acción (registrado automáticamente en LogAuditoria con nivel=WARNING si el permiso es configuracion, *) |
404 | Not Found | Recurso no encontrado |
409 | Conflict | Duplicado (correo, código, etc.) o idempotency_key duplicada |
422 | Unprocessable Entity | Error de validación de schema |
426 | Upgrade Required | Debe cambiar la contraseña antes de continuar |
429 | Too Many Requests | Límite de rate excedido (reintentar después de Retry-After) |
500 | Internal Server Error | Error inesperado del servidor (registrado automáticamente en LogAuditoria con nivel=ERROR, incluye stacktrace, clase_origen, metodo_origen) |
502 | Bad Gateway | El backend no pudo conectarse a la base de datos cloud |
503 | Service Unavailable | El servidor está sobrecargado o en mantenimiento |
504 | Gateway Timeout | La operación tomó demasiado tiempo (timeout de base de datos) |
Ejemplos de respuestas
400 — Bad Request
{ "detail": "Password débil. Debe tener mínimo 8 caracteres, una mayúscula, un número y un carácter especial."}401 — Unauthorized
{ "detail": "Credenciales inválidas"}403 — Forbidden
{ "detail": "No tienes permiso para esta acción"}404 — Not Found
{ "detail": "Producto no encontrado"}409 — Conflict
{ "detail": "El correo juan@example.com ya está registrado"}422 — Validation Error
{ "detail": [ { "loc": ["body", "nombre"], "msg": "field required", "type": "value_error.missing" } ]}426 — Upgrade Required
{ "detail": "Debe cambiar su contraseña antes de continuar"}429 — Too Many Requests
{ "detail": "Límite de solicitudes excedido. Intenta de nuevo en 60 segundos."}500 — Internal Server Error
{ "detail": "Error interno del servidor"}502 — Bad Gateway
{ "detail": "No se pudo conectar a la base de datos"}503 — Service Unavailable
{ "detail": "El servidor está sobrecargado. Intenta de nuevo en unos segundos."}504 — Gateway Timeout
{ "detail": "La operación excedió el tiempo límite. Intenta de nuevo."}