İzin güncelleme

PATCH /v1/permissions/{permission_id} · izin apis:write

Bir izni JSON birleştirme yaması (RFC 7396, application/merge-patch+json) ile günceller: gönderdiğiniz alanlar değişir, diğerleri olduğu gibi kalır. İzinlerin bir sürümü olmadığı için If-Match kullanılmaz.

İstek

Parametre Konum Açıklama
permission_id path İzin kimliği (perm_…).

Gövde: aşağıdaki alanlardan herhangi biri (hepsi isteğe bağlı, en az biri gerekli).

Alan Tür Zorunlu Açıklama
value string hayır Yalnızca mevcut değere eşitse kabul edilir; hiçbir zaman değişmez.
display_name string | null hayır Onay ekranında kapsam değeri yerine gösterilen kısa ad. En fazla 128 karakter.
description string | null hayır Onay ekranında ad altında gösterilen ayrıntı satırı. En fazla 1024 karakter.
consent_text_i18n object | null hayır Dil etiketi → onay ekranı metni, örneğin {"en": "Read your orders"}. En fazla 30 dil, her metin 1-1024 karakter, toplamda 16 KiB.
sensitivity string hayır normal (varsayılan) veya sensitive.

display_name, description ve consent_text_i18n alanları null gönderilerek temizlenir; sensitivity temizlenemez. consent_text_i18n bütün olarak değiştirilir: eklemediğiniz diller kaldırılır, bu yüzden korumak istediğiniz her dili gönderin.

Onay ekranı metinleri

Barındırılan onay ekranı istenen her kapsamı şu şekilde gösterir: sayfa dili için consent_text_i18n girdisi (tam etiket, yoksa birincil alt etiketi), yoksa display_name, yoksa kapsam value değeri; description ayrıntı satırı olarak gösterilir. Üçü de düz metindir. Denetim karakterleri (satır sonları ve sekmeler dahil), satır ve paragraf ayırıcıları ile çift yönlü gömme, geçersiz kılma ve izolasyon karakterleri (U+202A-U+202E, U+2066-U+2069) 422 ile reddedilir. Baştaki ve sondaki boşluklar kırpılır; kırpıldıktan sonra boş kalan metin null olarak saklanır. HTML yorumlanmaz: onay ekranı bunu kaçış karakterleriyle gösterir.

Yanıt

200 OK

{
  "id": "perm_01h455vb4pex5vsknk084sn02s",
  "api_id": "api_01h455vb4pex5vsknk084sn02q",
  "value": "read:orders",
  "display_name": "Read orders",
  "description": "See your past orders and their status",
  "consent_text_i18n": {
    "en": "Read your orders",
    "tr": "Siparişlerinizi okuyun"
  },
  "sensitivity": "normal"
}

Hatalar

HTTP code Ne zaman
400 unknown_field Yamada api_id veya bilinmeyen bir alan var.
404 not_found Bu ortamda böyle bir izin yok.
409 conflict İzin sistem API'sine ait.
415 unsupported_media_type İçerik türü application/merge-patch+json değil.
422 validation_failed Yama boş, bir değer geçersiz veya düz metin değil, sensitivity null, ya da value farklı (immutable).

Örnek

curl -X PATCH https://api.eu.keenauth.com/v1/permissions/perm_01h455vb4pex5vsknk084sn02s \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/merge-patch+json" \
  -d '{"description":"See your past orders and their status","consent_text_i18n":{"en":"Read your orders","tr":"Siparişlerinizi okuyun"}}'