Uygulamayı güncelle

PATCH /v1/applications/{application_id} · izin applications:write

Uygulamayı JSON Merge Patch (application/merge-patch+json, RFC 7396) ile günceller: gönderilen alanlar değişir, null nullable alanı boşaltır, diziler bütünüyle değişir. If-Match zorunludur: yoksa 428, eski sürümle 412 döner. Değişmez alanlar key, app_type, registration_source ve owner_org_id farklı değerle gelirse 422 ve immutable kodu döner. Hiçbir şeyi değiştirmeyen yama uygulamayı ve sürümünü değiştirmez.

İstek

Başlıklar: If-Match: "<sürüm>" (zorunlu), Content-Type: application/merge-patch+json.

Yol: application_id (app_…).

Gövde: oluşturma sayfasındaki yazılabilir alanların herhangi bir alt kümesi (key, name, app_type, … connection_ids). null nullable alanı boşaltır; diziler listeyi bütünüyle değiştirir; jwks nesne olarak değişir. Salt okunur alanlar (id, client_id, version, created_at, updated_at, last_token_issued_at, last_token_asn) reddedilir.

Yanıt

200 OK; gövdede güncel uygulama, ETag başlığında yeni sürüm.

Hatalar

HTTP code Ne zaman
401 unauthenticated Anahtar yok, geçersiz ya da iptal edilmiş.
403 insufficient_permissions Anahtarda gereken izin yok.
404 not_found Uygulama bu ortamda yok.
428 precondition_required If-Match başlığı yok.
412 precondition_failed If-Match içindeki sürüm eski.
422 validation_failed Bir alan geçersiz ya da değişmez bir alan değiştirildi.
422 policy_conflict allowed_first_factors ortamın birinci faktör kümesiyle ortak yöntem bırakmıyor.
400 unknown_field Yamada şemada olmayan bir alan var (id gibi salt okunur alanlar dahil).
415 unsupported_media_type Content-Type application/merge-patch+json değil.

Örnek

curl -X PATCH https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -H 'If-Match: "1"' \
  -d '{"name":"Portal v2","login_host":null}'