
# Berechtigungen auflisten

`GET /v1/permissions` · Berechtigung `apis:read`

Gibt die Berechtigungen (OAuth-Scopes) einer API zurück, neueste zuerst, in Cursor-Seiten, zusammen mit den Texten, die auf dem Zustimmungsbildschirm angezeigt werden. Die Umgebung stammt nur aus dem Credential.

## Anfrage

| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| `api_id` | Zeichenkette | ja | Die API (`api_…`). Fehlt sie, ist sie mehrfach angegeben oder fehlerhaft, ergibt sich `422` mit Zeiger `/api_id`. |
| `limit` | Ganzzahl | nein | 1–100, Standard 20. |
| `after` | Zeichenkette | nein | Cursor aus `list_metadata.after`. Schließt `before` aus. |
| `before` | Zeichenkette | nein | Cursor aus `list_metadata.before`. |
| `order` | Zeichenkette | nein | `asc` oder `desc` (Standard). Ein Cursor ist nur mit derselben `api_id` und demselben `order` gültig. |

## Antwort

`200 OK`

```json
{
  "data": [ {
  "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"
} ],
  "list_metadata": { "before": null, "after": "eyJ2IjoxLi4ufQ" }
}
```

Eine Berechtigung ohne Zustimmungstexte hat `display_name` und `description` auf `null` und `consent_text_i18n` auf `{}`. Ein `null`-Cursor bedeutet, dass es in dieser Richtung keine weiteren Datensätze gibt. Eine Gesamtzahl wird nicht zurückgegeben.

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 400 | `invalid_cursor` | Der Cursor ist fehlerhaft, manipuliert oder wurde für eine andere Umgebung, eine andere `api_id` oder ein anderes `order` ausgestellt. |
| 403 | `insufficient_permissions` | Dem Credential fehlt `apis:read`. |
| 404 | `not_found` | Es gibt in dieser Umgebung keine solche API. |
| 422 | `validation_failed` | `api_id` fehlt, ist mehrfach angegeben oder fehlerhaft, oder ein anderer Abfrageparameter ist ungültig. |

## Beispiel

```bash
curl "https://api.eu.keenauth.com/v1/permissions?api_id=api_01h455vb4pex5vsknk084sn02q&limit=20" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
