Yönetim istemcisini güncelle
PATCH /v1/management-clients/{application_id} · izin management-clients:write
Yönetim istemcisi kaydını JSON birleştirme yamasıyla günceller (RFC 7396, application/merge-patch+json): gönderdiğiniz alanlar değişir, göndermedikleriniz kalır. If-Match zorunludur: yoksa istek 428, sürüm artık eşleşmiyorsa 412 ile reddedilir. Bu ucu yalnız API anahtarı çağırabilir.
İstek
| Parametre | Yer | Açıklama |
|---|---|---|
application_id |
yol | Uygulama kimliği (app_…). |
If-Match |
başlık | Son okuma ya da yazmadaki ETag. |
Gövde: aşağıdaki alanlardan herhangi biri.
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
permissions |
string[] | hayır | 1-200 bilinen <kaynak>:<eylem> izni. Liste bütünüyle değişir; null olamaz. |
allowed_cidrs |
string[] | null | hayır | En çok 20 CIDR bloğu. Liste bütünüyle değişir; null ya da [] çağıran anahtarın kendi listesini kullanır. |
Hiçbir şeyi değiştirmeyen yama kaydı, sürümünü ve audit kaydını olduğu gibi bırakır. Kısıtlı anahtar kendisinden geniş bir kaydı değiştiremez (403 permission_escalation).
Yanıt
200 OK; yeni ETag ile.
{
"application_id": "app_01h455vb4pex5vsknk084sn02q",
"permissions": ["users:read"],
"allowed_cidrs": ["203.0.113.0/24"]
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 400 | unknown_field |
Yamada permissions ve allowed_cidrs dışında bir alan var. |
| 403 | permission_escalation |
Kayıt ya da yamalanmış kayıt çağıran anahtardan geniş. |
| 404 | not_found |
Uygulamanın bu ortamda kaydı yok. |
| 412 | precondition_failed |
If-Match güncel sürümle eşleşmiyor. |
| 415 | unsupported_media_type |
İçerik türü application/merge-patch+json değil. |
| 422 | validation_failed |
permissions null, boş ya da bilinmeyen izin içeriyor, ya da bir CIDR geçersiz. |
| 428 | precondition_required |
If-Match yok. |
Örnek
curl -X PATCH https://api.eu.keenauth.com/v1/management-clients/app_01h455vb4pex5vsknk084sn02q \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/merge-patch+json" \
-H 'If-Match: "3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"' \
-d '{"permissions":["users:read"]}'
CLI: keenauth management-clients update app_01h455vb4pex5vsknk084sn02q --permissions users:read --if-match '"3f2a9c0d7b1e4a6f8c5d2e1b0a9f8e7d"'