Convertir un dominio personalizado en principal

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

Convierte el dominio en el dominio personalizado principal del entorno (los enlaces de inicio de sesión alojados lo usan); el principal anterior deja ese papel en la misma operación. El dominio debe estar active; volver a convertir en principal el principal actual no cambia nada. Cuando el emisor del entorno está en un dominio personalizado, cambiar el dominio principal cambia el emisor y debe programarse como una migración del emisor.

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.
If-Match header no Opcional. Si se indica debe coincidir con el ETag del dominio (si no, 412).

Sin cuerpo de solicitud.

Respuesta

200 OK con el dominio y un encabezado 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"
}

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 no está active.
409 issuer_change_requires_schedule El emisor del entorno está en un dominio personalizado; el cambio debe programarse como una migración del emisor.
412 precondition_failed If-Match no coincide con la versión actual del dominio.
503 service_unavailable La información del emisor del entorno 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:make-primary \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H 'If-Match: "4"'