Ir al contenido

Guías

Errores

Ver como Markdown

Todo error de /public/v1/* responde con el mismo cuerpo, sea cual sea el código HTTP:

{
"error": "PERMISSION_DENIED",
"message": "You do not have the required permission for this action",
"request_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"details": {}
}
  • error — el código de la tabla de abajo; el único campo que tu integración debería usar para decidir qué hacer. Nunca cambia de forma dentro de /public/v1 (ver Versionado).
    • message — texto para humanos, en inglés, orientado a depurar — no lo muestres tal cual a tu usuario final ni lo uses para decidir lógica de negocio, puede cambiar de redacción sin previo aviso.
  • request_id — inclúyelo si escribes a soporte por un error concreto; ayuda a localizar la petición exacta en nuestros logs.
  • details — contexto adicional (p. ej. los campos que fallaron una validación); nunca es la parte estable del contrato, trátalo como informativo.
HTTPerrorCuándo aparece
401INVALID_CREDENTIALSLa clave no existe, está mal copiada o está revocada.
401TOKEN_EXPIREDLa clave superó su fecha de caducidad.
403PERMISSION_DENIEDLa clave no tiene el scope exacto que exige el endpoint — ver Autenticación.
403PLAN_NOT_ELIGIBLEEl tenant dueño de la clave no está en un plan Pro o Enterprise — ver Planes y límites.
404NOT_FOUNDEl recurso no existe, o pertenece a otro tenant — misma respuesta en ambos casos, para no confirmar la existencia de datos ajenos.
409WHATSAPP_SESSION_WINDOW_CLOSEDPOST /conversations/{id}/messages a un contacto de WhatsApp con la ventana de 24h cerrada — usa POST /conversations/start con una plantilla aprobada en su lugar. Nunca se llega a intentar el envío real.
422VALIDATION_ERROREl cuerpo o los parámetros de la petición no cumplen el schema del endpoint — revisa details.
422IDEMPOTENCY_KEY_REUSE_MISMATCHSolo si envías el header opcional Idempotency-Key: el mismo valor ya se usó con un cuerpo DIFERENTE en una petición anterior. Genera una clave nueva para una petición realmente distinta.
429RATE_LIMIT_EXCEEDEDSuperaste tu cupo de peticiones — ver Planes y límites para los headers X-RateLimit-*.

Un 422 de validación de FastAPI (cuerpo malformado, tipo incorrecto) usa el mismo envelope, con details listando cada campo que falló.