Vérifier maintenant le DNS d'un domaine personnalisé
POST /v1/custom-domains/{custom_domain_id}:verify · permission custom-domains:write
Exécute immédiatement la vérification DNS (enregistrement TXT de propriété, CNAME et CAA, via un résolveur validant DNSSEC), applique le résultat à l'état du domaine et renvoie le domaine mis à jour. Un domaine disabled, ou un domaine pending_dns dont la fenêtre de nouvelles tentatives est terminée, est d'abord relancé. Si le résolveur DNS de la cellule n'est pas configuré dans ce déploiement, la vérification est refusée avec 503 afin qu'une vérification non concluante ne ressemble jamais à un succès.
Requête
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
custom_domain_id |
string | oui | Identifiant du domaine personnalisé (cdom_…). |
Idempotency-Key |
header | non | Clé facultative (16-64 caractères) qui rend une requête réessayée sûre. |
Pas de corps de requête.
Réponse
200 OK avec le domaine mis à jour et un en-tête 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"
}
Erreurs
| HTTP | code | Quand |
|---|---|---|
| 404 | not_found |
Le domaine personnalisé n'existe pas ou appartient à un autre environnement. |
| 409 | custom_domain_state_conflict |
Le domaine est released. |
| 409 | conflict |
Une vérification concurrente a modifié le domaine ; réessayez. |
| 503 | service_unavailable |
Le résolveur DNS n'est pas configuré dans ce déploiement, ou une dépendance est temporairement indisponible. |
| 401 | unauthenticated |
L'identifiant est absent, invalide ou révoqué. |
| 403 | insufficient_permissions |
L'identifiant n'a pas la permission requise. |
| 429 | rate_limited |
La limite de débit a été dépassée ; réessayez après le délai Retry-After. |
Exemple
curl -X POST https://api.eu.keenauth.com/v1/custom-domains/cdom_01j9xk3m7q8r2s4t6v8w0y2z4a:verify \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"