Bir bağlantıyı güncelleme

PATCH /v1/connections/{connection_id} · izin connections:write

Bir bağlantıyı JSON birleştirme yaması (application/merge-patch+json, RFC 7396) ile günceller. If-Match zorunludur. key, type, strategy ve org_id değiştirilemez. Hiçbir şeyi değiştirmeyen bir yama hiçbir şey yazmaz ve sürümü korur. Ayarlar gizli bilgi içermemelidir.

İstek

Alan Tür Zorunlu Açıklama
connection_id string evet Bağlantı tanımlayıcısı (conn_…).
If-Match header evet Bağlantının son okunduğundaki ETag değeri. Yoksa: 428; eskiyse: 412.
key string hayır Değiştirilemez; aynı değer kabul edilir.
type string hayır Değiştirilemez.
strategy string hayır Değiştirilemez.
name string hayır 1-128 karakter.
display_name string | null hayır null değeri bunu temizler.
status string hayır active veya inactive.
org_id string | null hayır Değiştirilemez; aynı değer kabul edilir.
allowed_email_domains array of strings | null hayır Listeyi değiştirir; null veya [] listeyi temizler. Oluşturmadaki kurallarla aynıdır; kuruluş bağlantısında yalnızca yeni eklenen alan adları, kuruluşun doğrulanmış alan adlarına karşı denetlenir.
allow_external_domains boolean hayır Yalnızca enterprise.
jit_mode string hayır create, create_and_update veya off. Yalnızca enterprise.
email_trust boolean hayır Yalnızca enterprise. Kuruluş bağlantısında etkinleştirmek için, boş olmayan bir allowed_email_domains gerekir ve her alan adı kuruluşun doğrulanmış bir alan adı olmalıdır.
default_role_ids array of strings | null hayır Listeyi değiştirir; null veya [] listeyi temizler. Oluşturmadaki kurallarla aynıdır; yalnızca yeni eklenen roller denetlenir, bu nedenle listede zaten bulunan ve daha sonra silinmiş bir rol güncellemeyi engellemez (oturum açarken atlanır).
trust_idp_mfa boolean hayır Yalnızca enterprise.
settings object | null hayır Özyinelemeli olarak birleştirilir (RFC 7396); null değerindeki bir üye o anahtarı siler; null tüm ayarları temizler. Gizli bilgi yok.

Yanıt

200 OK ile güncellenmiş bağlantı ve yeni ETag döner.

{
  "id": "conn_0k3v8m1q2x9dz4h7s5t6w0y1ab",
  "key": "google",
  "type": "social",
  "strategy": "google",
  "name": "Google",
  "display_name": "Sign in with Google",
  "status": "active",
  "org_id": null,
  "allowed_email_domains": [],
  "allow_external_domains": false,
  "jit_mode": null,
  "email_trust": null,
  "default_role_ids": [],
  "trust_idp_mfa": null,
  "allow_idp_initiated": null,
  "idp_initiated_default_application_id": null,
  "idp_initiated_allowed_application_ids": [],
  "settings": {},
  "created_at": "2026-10-05T09:30:00.123456Z",
  "updated_at": "2026-10-05T09:30:00.123456Z"
}

Passkey ayarları

type: "passkey" için settings nesnesi yalnızca aşağıdaki anahtarları kabul eder. Diğer herhangi bir anahtar, yanlış bir tür veya aralık dışı bir değer 422 validation_failed ile ve /settings/max_credentials_per_user gibi bir errors[].pointer değeri ile reddedilir. null değeri varsayılanı ifade eder. Şekil hataları plan hatalarından önce bildirilir.

Anahtar Tür Notlar
rp_id string Yoksa, null veya boşsa: her giriş ana makinesi kendi rpId değerine sahiptir. Aksi halde ortamın active durumundaki özel bir alan adının ana makine adı (küçük harf, IDNA A-label); diğer tüm değerler 422 validation_failed (/settings/rp_id) ile sonuçlanır. Ortamda passkey'ler varsa, Passkey rpId değerini değiştirme bağlantısını kullanarak değiştirin.
rp_name string En fazla 128 karakter.
passkey_first_factor_enabled, security_key_second_factor_enabled boolean Varsayılan true.
user_verification string preferred (varsayılan) veya required.
max_credentials_per_user integer 1-20, varsayılan 20; kesirli değerler reddedilir.
require_device_bound_passkeys boolean Plana bağlı: true için Startup gerekir.
attestation_required boolean Plana bağlı: true için Enterprise gerekir.
aaguid_allowlist, aaguid_blocklist array of UUID strings Her biri en fazla 500 benzersiz girişe sahip olabilir (hatalar /settings/<key>/<index> konumuna işaret eder). Plana bağlı: boş olmayan bir liste için Enterprise gerekir.
related_origins array of strings https://host[:port] kaynakları. Plana bağlı: boş olmayan bir liste için Enterprise gerekir.
passkey_enrollment_prompt string off veya after_login (varsayılan).

Plana bağlı bir anahtara varsayılan olmayan bir değer yazmak 403 plan_feature_unavailable ile sonuçlanır ve feature ile required_plan üyeleri döner. Plan yetkilendirmeleri kullanılabilir olana kadar bu anahtarlar hiçbir ortamda ayarlanamaz; varsayılan bir değer yazmak (false, [], null) veya anahtarı kaldırmak her zaman mümkündür. Özellik kullanılabilir olduğunda, her related_origins girişi ortamın etkin ve doğrulanmış bir özel alan adı olmalıdır; aksi halde istek 422 related_origin_not_verified ile başarısız olur. Ayarlar, yalnızca yama settings içeriyorsa ve birleştirme yamasının uygulanmasından sonra doğrulanır.

Hatalar

HTTP code Ne zaman
400 unknown_field Yama bilinmeyen veya salt okunur bir alan içeriyor.
404 not_found Bağlantı yok veya başka bir ortama ait.
409 connection_test_required Yama bir enterprise bağlantısını active yapıyor ya da active bir bağlantının allowed_email_domains listesine alan adı ekliyor; sonucun son 24 saat içinde başarılı bir testi yoksa (bkz. Bir bağlantıyı etkinleştirme). Hiçbir şey yazılmaz. Alan adlarını kaldırma denetlenmez.
409 rp_id_change_requires_migration Yama, ortamda çalışmayı durduracak passkey'ler varken bir passkey bağlantısının settings.rp_id değerini değiştiriyor; Passkey rpId değerini değiştirme bağlantısını kullanın. Hiçbir şey yazılmaz.
412 precondition_failed If-Match mevcut sürümle eşleşmiyor.
415 unsupported_media_type İçerik türü application/merge-patch+json değil.
422 validation_failed Bir değer geçersiz veya değiştirilemez bir alan değişti (code: immutable).
422 related_origin_not_verified İlgili bir kaynak, ortamın doğrulanmış bir özel alan adı değil.
403 plan_feature_unavailable Plan, ayarladığınız bir ayarı içermiyor (feature, required_plan üyeleri), örneğin attestation_required.
428 precondition_required If-Match başlığı eksik.
401 unauthenticated Kimlik bilgisi eksik, geçersiz veya iptal edilmiş.
403 insufficient_permissions Kimlik bilgisinin gerekli izni yok.
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 (örneğin, bir rp_id değişikliğinin passkey denetimi çalıştırılamadı, bu nedenle hiçbir şey yazılmadı); Retry-After süresinden sonra yeniden deneyin.

Örnek

curl -X PATCH https://api.eu.keenauth.com/v1/connections/conn_0k3v8m1q2x9dz4h7s5t6w0y1ab \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "1"' \
  -d '{"display_name":"Sign in with Google"}'