
# Lister les autorisations

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

Renvoie les autorisations (scopes OAuth) d'une API, les plus récentes en premier, par pages à curseur, avec les textes affichés sur l'écran de consentement. L'environnement provient uniquement de l'identifiant.

## Demande

| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
| `api_id` | chaîne | oui | L'API (`api_…`). Absent, répété ou mal formé donne `422` avec le pointeur `/api_id`. |
| `limit` | entier | non | 1 à 100, par défaut 20. |
| `after` | chaîne | non | Curseur issu de `list_metadata.after`. Exclusif avec `before`. |
| `before` | chaîne | non | Curseur issu de `list_metadata.before`. |
| `order` | chaîne | non | `asc` ou `desc` (par défaut). Un curseur n'est valable qu'avec le même `api_id` et le même `order`. |

## Réponse

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

Une autorisation sans textes de consentement a `display_name` et `description` à `null` et `consent_text_i18n` à `{}`. Un curseur `null` signifie qu'il n'y a plus d'enregistrements dans ce sens. Le nombre total n'est pas renvoyé.

## Erreurs

| HTTP | code | Quand |
|---|---|---|
| 400 | `invalid_cursor` | Le curseur est mal formé, altéré, ou a été émis pour un autre environnement, un autre `api_id` ou un autre `order`. |
| 403 | `insufficient_permissions` | L'identifiant ne dispose pas de `apis:read`. |
| 404 | `not_found` | Cette API n'existe pas dans cet environnement. |
| 422 | `validation_failed` | `api_id` est absent, répété ou mal formé, ou un autre paramètre de requête est invalide. |

## Exemple

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