
# Listar permisos

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

Devuelve los permisos (scopes de OAuth) de una API, del más reciente al más antiguo, en páginas por cursor, junto con los textos que se muestran en la pantalla de consentimiento. El entorno proviene solo de la credencial.

## Solicitud

| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| `api_id` | cadena | sí | La API (`api_…`). Si falta, se repite o tiene formato incorrecto, responde `422` con puntero `/api_id`. |
| `limit` | entero | no | De 1 a 100, predeterminado 20. |
| `after` | cadena | no | Cursor de `list_metadata.after`. Excluyente con `before`. |
| `before` | cadena | no | Cursor de `list_metadata.before`. |
| `order` | cadena | no | `asc` o `desc` (predeterminado). Un cursor solo es válido con el mismo `api_id` y `order`. |

## Respuesta

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

Un permiso sin textos de consentimiento tiene `display_name` y `description` en `null`, y `consent_text_i18n` en `{}`. Un cursor `null` significa que no hay más registros en esa dirección. No se devuelve un recuento total.

## Errores

| HTTP | código | Cuándo |
|---|---|---|
| 400 | `invalid_cursor` | El cursor tiene formato incorrecto, ha sido manipulado, o se emitió para otro entorno, otro `api_id` u otro `order`. |
| 403 | `insufficient_permissions` | La credencial no tiene `apis:read`. |
| 404 | `not_found` | No existe tal API en este entorno. |
| 422 | `validation_failed` | `api_id` falta, se repite o tiene formato incorrecto, o otro parámetro de consulta no es válido. |

## Ejemplo

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