Rendre un domaine personnalisé principal

POST /v1/custom-domains/{custom_domain_id}:make-primary · permission custom-domains:write

Fait du domaine le domaine personnalisé principal de l'environnement (les liens de connexion hébergée l'utilisent) ; l'ancien domaine principal perd ce rôle dans la même opération. Le domaine doit être active ; rendre principal le domaine déjà principal ne change rien. Lorsque l'émetteur (issuer) de l'environnement est sur un domaine personnalisé, changer le domaine principal change l'émetteur et doit être planifié comme une migration d'émetteur.

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.
If-Match header non Facultatif. S'il est fourni, il doit correspondre à l'ETag du domaine (sinon 412).

Pas de corps de requête.

Réponse

200 OK avec le domaine et un en-tête ETag.

{
  "id": "cdom_01j9xk3m7q8r2s4t6v8w0y2z4a",
  "hostname": "login.example.com",
  "is_primary": true,
  "status": "active",
  "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": "2027-01-04T09:31:12Z",
  "last_checked_at": "2026-10-05T09:31:00Z",
  "next_check_at": null,
  "activated_at": "2026-10-05T09:31:12Z",
  "degraded_since": null,
  "status_changed_at": "2026-10-05T09:31:12Z",
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-05T09:31:12Z"
}

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 n'est pas active.
409 issuer_change_requires_schedule L'émetteur de l'environnement est sur un domaine personnalisé ; le changement doit être planifié comme une migration d'émetteur.
412 precondition_failed If-Match ne correspond pas à la version actuelle du domaine.
503 service_unavailable Les informations d'émetteur de l'environnement sont temporairement indisponibles.
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:make-primary \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H 'If-Match: "4"'