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