Bağlantının SP ana bilgisayarını taşıyın

POST /v1/connections/{connection_id}:migrate-sp-host · izin connections:write

Kurumsal bir bağlantının SP uç noktalarını (ACS, meta veri, tek oturum kapatma, OIDC geri çağırma) yeni bir ana bilgisayara taşımayı başlatır; örneğin keenauth.app ana bilgisayarından doğrulanmış özel alan adınıza. SP URL'leri, kimlik sağlayıcının bunları bildiği için başka şekilde değiştirilemez.

İstek, bağlantının durumundan bağımsız olarak sp_host türünde bir taslak revizyon oluşturur. Oturum açmalarda henüz hiçbir şey değişmez:

  1. revision_id ile SP meta verilerini indirin ve yeni SP meta verilerini kimlik sağlayıcının yöneticisine verin. Yeni ana bilgisayar yalnızca bu meta verileri ve taslağın test oturum açmasını sunar, başka bir şeyi değil.
  2. revision_id ile Bağlantıyı test edin adımında taslağı test edin.
  3. Revizyonu yayımlayın. Bağlantı artık yeni ana bilgisayarı kullanır. Eski ana bilgisayar, kimlik sağlayıcının güncellenebilmesi için 30 gün daha yanıt vermeye devam eder, ardından 404 döndürür.

Yeni bir taslak, bağlantının önceki taslağını iptal eder. İstek connection.revision_created olarak denetlenir.

İstek

Alan Tür Zorunlu Açıklama
connection_id yol evet Kurumsal bağlantı kimliği (conn_…).
Idempotency-Key üstbilgi hayır Yeniden denenen isteğin güvenli olmasını sağlayan isteğe bağlı anahtar (16-64 karakter).
sp_host string evet Yeni ana bilgisayar: bu ortamın etkin bir ana bilgisayarı (keenauth.app ana bilgisayarı veya doğrulanmış özel alan adı), küçük harfli, bağlantı noktası olmadan.

Yanıt

200 OK, taslak revizyonla birlikte:

{
  "id": "connrev_01j9xr8c2d4e6f8g0h2j4k6m8n",
  "connection_id": "conn_01j9xp6q0r1s5t7v9w1x3y5z7b",
  "protocol": "saml",
  "kind": "sp_host",
  "status": "draft",
  "discard_reason": null,
  "created_at": "2026-10-28T10:00:00Z",
  "decided_at": null,
  "purge_after": null,
  "superseded_revision_id": null,
  "changes": {
    "sp_host": "login.example.com",
    "idp_entity_id": null,
    "idp_sso_url": null,
    "idp_slo_url": null,
    "certificate_fingerprints": [],
    "mfa_authn_context_values": null,
    "issuer": null,
    "client_id": null,
    "client_auth_method": null,
    "provider_profile": null,
    "client_secret_change": null
  },
  "latest_test": null
}

superseded_revision_id, bu istekle iptal edilen önceki taslağın kimliğidir (varsa).

Hatalar

HTTP code Ne zaman
400 unknown_field Gövdede bilinmeyen bir alan var.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinde connections:write yok.
404 not_found Bağlantı bu ortamda yok veya kurumsal bir bağlantı değil.
409 conflict Önceki SP ana bilgisayarı taşıma işleminin 30 günlük penceresi hâlâ açık veya bağlantının henüz bir protokol yapılandırması yok.
422 validation_failed errors[] /sp_host alanını gösterir; required, invalid_value (küçük harfli bir ana bilgisayar adı değil), not_in_environment (bu ortamın etkin bir ana bilgisayarı değil) veya unchanged (zaten bağlantının SP ana bilgisayarı).
429 rate_limited Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin.

Örnek

curl -X POST "https://api.eu.keenauth.com/v1/connections/conn_01j9xp6q0r1s5t7v9w1x3y5z7b:migrate-sp-host" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{"sp_host":"login.example.com"}'
keenauth connections migrate-sp-host conn_01j9xp6q0r1s5t7v9w1x3y5z7b --sp-host login.example.com --yes