Errores
Todas las respuestas de error siguen un formato uniforme generado por AllExceptionsFilter.
Formato
{
"statusCode": 400,
"error": "Bad Request",
"message": "El componente BODY es obligatorio",
"timestamp": "2026-05-01T03:42:18.123Z",
"path": "/organizations/<orgId>/templates"
}Cuando el origen es un error de Meta Graph, se incluyen code y subcode de Meta cuando estén disponibles, además de un campo error: "MetaGraphError".
Códigos comunes
| Código | Tipo | Significado |
|---|---|---|
| 400 | Bad Request | Validación falló (DTO inválido, parámetros faltantes, formato incorrecto). |
| 401 | Unauthorized | Falta el header Authorization, token expirado o inválido. |
| 402 | Payment Required | La operación requiere upgrade de plan o saldo (cuando aplique). |
| 403 | Forbidden | Autenticación correcta pero no tienes el permiso/scope necesario, o el recurso pertenece a otra organización. |
| 404 | Not Found | El recurso no existe o no es visible para ti. |
| 408 | Request Timeout | La operación tardó más del límite (típicamente 30 s, 120 s para Embedded Signup). |
| 409 | Conflict | El recurso ya existe (slug duplicado, número ya conectado a otra org, etc). |
| 422 | Unprocessable Entity | Body válido pero estado del sistema no permite la operación (ej. enviar texto fuera de ventana 24h). |
| 429 | Too Many Requests | Rate limit excedido. Headers X-RateLimit-* indican cuánto esperar. |
| 500 | Internal Server Error | Error inesperado. Si persiste, contáctanos con el request id del header X-Request-Id. |
| 502 | Bad Gateway | Mosend recibió respuesta inválida de un proveedor (Meta, Mercado Pago). |
| 503 | Service Unavailable | Mantenimiento o sobrecarga temporal. |
Rate limiting
Headers en cada respuesta:
X-RateLimit-Limit: máximo en la ventana actual.X-RateLimit-Remaining: cuántas peticiones te quedan.X-RateLimit-Reset: segundos hasta que se resetea.