Obtener el proveedor de correo electrónico
GET /v1/email-provider · permiso email-provider:read · todos los planes
Devuelve cómo envía correos el entorno: el modo de envío, la dirección del remitente, su propio servidor SMTP o proveedor de correo electrónico y la última prueba de conexión.
La credencial (contraseña SMTP o clave de API) nunca se devuelve, ni siquiera enmascarada ni con su longitud. credentials_set solo indica si hay una almacenada.
Un entorno que nunca se ha configurado devuelve platform_default con la versión 0. El encabezado ETag contiene la versión; envíela como If-Match cuando reemplace la configuración.
Respuesta
200 OK con la configuración y ETag con su versión.
| Campo | Tipo | Descripción |
|---|---|---|
mode |
string | platform_default, platform_managed_domain, customer_smtp, customer_api o customer_webhook. |
sender_domain_id |
string o null | platform_managed_domain: el dominio remitente (sdom_…) desde el que se envía el correo; null en los demás modos. Consulte el dominio para ver su estado actual. |
webhook_endpoint_id |
string o null | customer_webhook: el endpoint de webhook (whe_…) que recibe los mensajes renderizados; null en los demás modos. Consulte el endpoint para ver si sigue habilitado. |
from_address |
string o null | Dirección del remitente sin nombre; null en platform_default. |
reply_to |
string o null | Dirección de respuesta sin nombre. |
provider |
string o null | Proveedor de customer_api: ses, sendgrid, postmark, mailgun o brevo. |
smtp_host |
string o null | Nombre de host del servidor de customer_smtp. |
smtp_port |
integer o null | Puerto de customer_smtp: 465 (TLS implícito) o 587 (STARTTLS). |
smtp_username |
string o null | Nombre de usuario AUTH de customer_smtp. No es secreto. |
credentials_set |
boolean | Si hay una credencial almacenada. |
last_test_at |
string o null | Momento de la última prueba de conexión; se borra cuando cambia la configuración. |
last_test_result |
string o null | ok o el código de error fijo de la última prueba. |
version |
integer | Versión de la configuración, igual que el ETag; 0 significa que nunca se configuró. |
updated_at |
string o null | Momento del último cambio. |
{
"mode": "customer_smtp",
"sender_domain_id": null,
"webhook_endpoint_id": null,
"from_address": "no-reply@example.com",
"reply_to": null,
"provider": null,
"smtp_host": "smtp.example.com",
"smtp_port": 587,
"smtp_username": "mailer",
"credentials_set": true,
"last_test_at": "2026-10-19T09:30:00Z",
"last_test_result": "ok",
"version": 4,
"updated_at": "2026-10-19T09:00:00Z"
}
Una configuración platform_managed_domain:
{
"mode": "platform_managed_domain",
"sender_domain_id": "sdom_01k7xq3m5r8t9v0w1x2y3z4a5b",
"webhook_endpoint_id": null,
"from_address": "auth@mail.example.com",
"reply_to": "support@example.com",
"provider": null,
"smtp_host": null,
"smtp_port": null,
"smtp_username": null,
"credentials_set": false,
"last_test_at": null,
"last_test_result": null,
"version": 5,
"updated_at": "2026-10-19T10:00:00Z"
}
Una configuración customer_webhook:
{
"mode": "customer_webhook",
"sender_domain_id": null,
"webhook_endpoint_id": "whe_01k7xq3m5r8t9v0w1x2y3z4a5b",
"from_address": "auth@example.com",
"reply_to": null,
"provider": null,
"smtp_host": null,
"smtp_port": null,
"smtp_username": null,
"credentials_set": false,
"last_test_at": null,
"last_test_result": null,
"version": 6,
"updated_at": "2026-10-27T09:00:00Z"
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 401 | unauthenticated |
La credencial falta, no es válida o fue revocada. |
| 403 | insufficient_permissions |
La credencial no tiene el permiso requerido. |
| 429 | rate_limited |
Se superó el límite de frecuencia; reintente después del periodo indicado en Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente después del periodo indicado en Retry-After. |
Ejemplo
curl https://api.eu.keenauth.com/v1/email-provider \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth email-provider get