Ir al contenido

Autenticación de Summit Notify

La API utiliza dos tipos de credenciales Bearer. No son intercambiables y ambas identifican al propietario mediante un sub interno.

Authorization: Bearer CREDENTIAL

El prefijo Bearer distingue mayúsculas y minúsculas y debe estar seguido por un valor no vacío.

Protege la administración de cuentas y plantillas:

/api/v1/smtp-accounts
/api/v1/templates

El servicio valida el token mediante introspección OpenID Connect y exige el scope configurado por la instancia, normalmente notify.

Ventana de terminal
curl https://notify.summitexplorerjd.ec/api/v1/templates \
-H "Authorization: Bearer $OIDC_ACCESS_TOKEN"

Protege la creación y consulta de notificaciones, conversaciones de WhatsApp y el endpoint MCP:

/api/v1/notifications
/api/v1/whatsapp-conversations
/mcp

La key se genera en /admin/api-keys, se muestra completa una sola vez y se almacena mediante un hash. Su último uso se actualiza al autenticarla.

Ventana de terminal
curl https://notify.summitexplorerjd.ec/api/v1/notifications/NOTIFICATION_ID \
-H "Authorization: Bearer $SUMMIT_NOTIFY_API_KEY"

Una API key no permite crear cuentas ni plantillas. Un access token OpenID Connect no sustituye a la API key en /notifications, /whatsapp-conversations ni /mcp.

El servicio obtiene el propietario de la credencial; no acepta owner_id en requests. Las consultas y modificaciones siempre filtran por ese propietario:

  • Para un access token OIDC, el propietario es el tenant_id activo si existe; de lo contrario, el sub del usuario.
  • Para una API key, el propietario es el owner_id que tenía el usuario en el momento de crear la key. Una key creada bajo una organización permanece ligada a esa organización.

Conocer el UUID de otro usuario o recurso no concede acceso: la API devuelve 404.

Una API key solo puede utilizar las cuentas SMTP, plantillas y conversaciones del usuario u organización que la creó.

No requieren credenciales:

  • GET /api/v1/status
  • GET /health/live
  • GET /health/ready
Estado Cuerpo Causa
401 {"error":"missing bearer token"} Falta el header, el esquema no es Bearer o el valor está vacío.
401 {"error":"invalid or expired token"} El token OIDC o API key no puede validarse.
403 {"error":"insufficient scope"} El access token no contiene el scope requerido.
403 {"error":"caller domain is not allowed to use this smtp account"} Origin/Referer no cumple api_allowed_domains.

La autenticación se evalúa después del rate limiting; una solicitud puede recibir 429 antes de validar su credencial.