Obtener un dominio remitente de correo electrónico
GET /v1/email-sender-domains/{sender_domain_id} · permiso email-sender-domains:read · todos los planes
Devuelve un dominio remitente: su estado, los resultados de la última comprobación de DNS y los registros DNS que debe publicar. La cabecera ETag contiene la versión; envíela como If-Match cuando elimine el dominio.
Solicitud
| Campo | Tipo | Obligatorio | Descripción |
|---|---|---|---|
sender_domain_id |
string | sí | ID del dominio remitente (sdom_…). |
Sin cuerpo de solicitud.
Respuesta
200 OK con el dominio remitente y ETag con su versión.
| Campo | Tipo | Descripción |
|---|---|---|
id |
string | ID del dominio remitente (sdom_…). |
domain |
string | El dominio como A-label de IDNA 2008, en minúsculas y sin punto final. |
status |
string | pending_dns (a la espera de los registros DNS), verified (listo para enviar), degraded (los registros han fallado durante 72 horas; el entorno pasó al envío de la plataforma) o disabled (desactivado por la plataforma). |
active_selector |
string | Selector DKIM usado para firmar: akp1 o akp2. |
dkim_status |
string or null | Última comprobación de los dos CNAME de DKIM (el peor de los dos): ok, missing, wrong_target o lookup_failed; null antes de la primera comprobación. |
return_path_status |
string or null | Última comprobación del CNAME de return-path, con los mismos códigos; null antes de la primera comprobación. |
dmarc_alignment |
string or null | Resultado de DMARC de la última comprobación: aligned, not_aligned, no_record, invalid_record o lookup_failed. DMARC no es obligatorio. |
last_checked_at |
string or null | Momento de la última comprobación. |
failing_since |
string or null | Primera comprobación fallida de un dominio verified; al alcanzar 72 horas, el dominio pasa a degraded. |
degraded_since |
string or null | Momento en que el dominio pasó a degraded. |
records |
array | Registros DNS que debe publicar: type (CNAME o TXT), name, value y required. Los dos CNAME de DKIM y el CNAME de return-path son obligatorios; si la última comprobación no encontró ningún registro _dmarc, se añade una sugerencia de DMARC (v=DMARC1; p=none) con required: false. |
version |
integer | Versión del dominio, igual que el ETag; aumenta en cada escritura, incluidas las comprobaciones. |
created_at |
string | Momento de creación. |
updated_at |
string | Momento del último cambio. |
{
"id": "sdom_01k7r9m3q5t8v2w4x6y8z0a2b4",
"domain": "mail.example.com",
"status": "pending_dns",
"active_selector": "akp1",
"dkim_status": null,
"return_path_status": null,
"dmarc_alignment": null,
"last_checked_at": null,
"failing_since": null,
"degraded_since": null,
"records": [
{
"type": "CNAME",
"name": "akp1._domainkey.mail.example.com",
"value": "akp1.sdom_01k7r9m3q5t8v2w4x6y8z0a2b4.dkim.eu.keenauth.app",
"required": true
},
{
"type": "CNAME",
"name": "akp2._domainkey.mail.example.com",
"value": "akp2.sdom_01k7r9m3q5t8v2w4x6y8z0a2b4.dkim.eu.keenauth.app",
"required": true
},
{
"type": "CNAME",
"name": "rp.mail.example.com",
"value": "rp.eu.mail.keenauth.app",
"required": true
}
],
"version": 1,
"created_at": "2026-10-19T09:00:00Z",
"updated_at": "2026-10-19T09:00:00Z"
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 404 | not_found |
El dominio remitente no existe, pertenece a otro entorno o el ID tiene un formato incorrecto. |
| 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 período Retry-After. |
| 503 | service_unavailable |
Una dependencia no está disponible temporalmente; reintente después del período Retry-After. |
Ejemplo
curl https://api.eu.keenauth.com/v1/email-sender-domains/sdom_01k7r9m3q5t8v2w4x6y8z0a2b4 \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth email-sender-domains get sdom_01k7r9m3q5t8v2w4x6y8z0a2b4