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}'