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"