Berechtigung aktualisieren
PATCH /v1/permissions/{permission_id} · Berechtigung apis:write
Aktualisiert eine Berechtigung mit einem JSON-Merge-Patch (RFC 7396, application/merge-patch+json): Die Felder, die Sie senden, ändern sich, die anderen bleiben. Berechtigungen haben keine Version, daher gibt es kein If-Match.
Anfrage
| Parameter | In | Beschreibung |
|---|---|---|
permission_id |
path | Berechtigungs-ID (perm_…). |
Body: beliebige der folgenden Felder (alle optional, mindestens eines).
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
value |
Zeichenkette | nein | Wird nur akzeptiert, wenn er dem aktuellen Wert entspricht; er ändert sich nie. |
display_name |
Zeichenkette | null | nein | Kurzer Name, der auf dem Zustimmungsbildschirm anstelle des Scope-Werts angezeigt wird. Höchstens 128 Zeichen. |
description |
Zeichenkette | null | nein | Detailzeile unter dem Namen auf dem Zustimmungsbildschirm. Höchstens 1024 Zeichen. |
consent_text_i18n |
Objekt | null | nein | Sprachkennung → Text des Zustimmungsbildschirms, zum Beispiel {"en": "Read your orders"}. Höchstens 30 Sprachen, jeder Text 1–1024 Zeichen, insgesamt 16 KiB. |
sensitivity |
Zeichenkette | nein | normal (Standard) oder sensitive. |
display_name, description und consent_text_i18n werden mit null geleert; sensitivity kann nicht geleert werden. consent_text_i18n wird als Ganzes ersetzt: Sprachen, die Sie weglassen, werden entfernt, senden Sie daher jede Sprache, die Sie behalten möchten.
Texte des Zustimmungsbildschirms
Der gehostete Zustimmungsbildschirm zeigt jeden angeforderten Scope so an: der Eintrag consent_text_i18n für die Seitensprache (exakte Kennung, sonst deren Haupt-Subtag), sonst display_name, sonst der Scope-value; description wird als Detailzeile angezeigt. Alle drei sind Klartext. Steuerzeichen (einschließlich Zeilenumbrüchen und Tabulatoren), Zeilen- und Absatztrennzeichen sowie bidirektionale Einbettungs-, Überschreibungs- und Isolationszeichen (U+202A-U+202E, U+2066-U+2069) werden mit 422 abgelehnt. Führende und nachfolgende Leerzeichen werden entfernt; ein Text, der danach leer ist, wird als null gespeichert. HTML wird nicht interpretiert: Der Zustimmungsbildschirm maskiert es.
Antwort
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"
}
Fehler
| HTTP | code | Wann |
|---|---|---|
| 400 | unknown_field |
Der Patch enthält api_id oder ein unbekanntes Feld. |
| 404 | not_found |
Es gibt in dieser Umgebung keine solche Berechtigung. |
| 409 | conflict |
Die Berechtigung gehört zur System-API. |
| 415 | unsupported_media_type |
Der Content-Type ist nicht application/merge-patch+json. |
| 422 | validation_failed |
Der Patch ist leer, ein Wert ist ungültig oder kein Klartext, sensitivity ist null, oder value weicht ab (immutable). |
Beispiel
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"}}'