
# Umgebungsrollen auflisten

`GET /v1/roles` · Berechtigung `roles:read`

Listet den Rollenkatalog der Umgebung auf, älteste zuerst. Nur Vorwärts-Paginierung wird unterstützt: `before` und ein `order` ungleich `asc` liefern `422`. Der Cursor ist an diese Liste gebunden. Organisationsrollen gehören nicht zu dieser Liste. Die Berechtigungsmenge der Rolle wird in dieser Version nicht zurückgegeben.

## Anfrage

| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `limit` | query | nein | 1–100, Standard 20. |
| `after` | query | nein | Cursor aus `list_metadata.after`. |

Kein Anfragekörper.

## Antwort

`200 OK` mit einer Seite von Rollen.

```json
{
  "data": [
    {
      "id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
      "organization_id": null,
      "key": "support",
      "name": "Support",
      "description": "",
      "is_privileged": false,
      "assignable_in_self_service": true,
      "permission_ids": [],
      "created_at": "2026-10-12T09:31:00.123456Z",
      "updated_at": "2026-10-12T09:31:00.123456Z",
      "version": 1
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}
```

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 400 | `invalid_cursor` | Der Cursor ist ungültig oder gehört zu einer anderen Liste. |
| 422 | `validation_failed` | `limit` liegt außerhalb des Bereichs, oder `before` bzw. ein `order` ungleich `asc` wurde angegeben. |
| 401 | `unauthenticated` | Die Anmeldeinformation fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Die Anmeldeinformation hat nicht die erforderliche Berechtigung. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; nach der Dauer von `Retry-After` erneut versuchen. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; nach der Dauer von `Retry-After` erneut versuchen. |

## Beispiel

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