Comprobar ahora el DNS de un dominio personalizado
POST /v1/custom-domains/{custom_domain_id}:verify · permiso custom-domains:write
Ejecuta de inmediato la comprobación DNS (registro TXT de propiedad, CNAME y CAA, mediante un resolvedor que valida DNSSEC), aplica el resultado al estado del dominio y devuelve el dominio actualizado. Un dominio disabled, o un dominio pending_dns cuya ventana de reintentos ha terminado, se reinicia primero. Si el resolvedor DNS de la celda no está configurado en esta instalación, la comprobación se rechaza con 503 para que una comprobación no concluyente nunca parezca un éxito.
Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
custom_domain_id |
string | sí | ID del dominio personalizado (cdom_…). |
Idempotency-Key |
header | no | Clave opcional (16-64 caracteres) que hace que una solicitud reintentada sea segura. |
Sin cuerpo de solicitud.
Respuesta
200 OK con el dominio actualizado y un encabezado ETag.
{
"id": "cdom_01j9xk3m7q8r2s4t6v8w0y2z4a",
"hostname": "login.example.com",
"is_primary": false,
"status": "issuing",
"failure_reason": null,
"dns_records": [
{
"type": "TXT",
"name": "_akp-verify.login.example.com",
"value": "idp-verify=3q2-7wEXAMPLEtokenQ9"
},
{
"type": "CNAME",
"name": "login.example.com",
"value": "acme.eu.edge.keenauth.app"
}
],
"certificate_expires_at": null,
"last_checked_at": "2026-10-05T09:31:00Z",
"next_check_at": "2026-10-05T09:36:00Z",
"activated_at": null,
"degraded_since": null,
"status_changed_at": "2026-10-05T09:30:00.123456Z",
"created_at": "2026-10-05T09:30:00.123456Z",
"updated_at": "2026-10-05T09:30:00.123456Z"
}
Errores
| HTTP | código | Cuándo |
|---|---|---|
| 404 | not_found |
El dominio personalizado no existe o pertenece a otro entorno. |
| 409 | custom_domain_state_conflict |
El dominio está released. |
| 409 | conflict |
Una comprobación concurrente cambió el dominio; reintente. |
| 503 | service_unavailable |
El resolvedor DNS no está configurado en esta instalación, o una dependencia no está disponible temporalmente. |
| 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 Retry-After. |
Ejemplo
curl -X POST https://api.eu.keenauth.com/v1/custom-domains/cdom_01j9xk3m7q8r2s4t6v8w0y2z4a:verify \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"