
# Liste Anwendungen auf

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

Listet die Anwendungen der Umgebung auf, die neuesten zuerst (`order=asc` kehrt dies um). Die Pagination ist cursor-basiert: übergebe `list_metadata.after` als `after` für die nächste Seite und `list_metadata.before` als `before` für die vorherige. Ein Cursor ist an die Filter und Reihenfolge gebunden, für die er ausgestellt wurde; die Verwendung mit anderen Filtern gibt `400 invalid_cursor` zurück. Es wird keine Gesamtzahl zurückgegeben.

## Anfrage

| Parameter | Typ | Beschreibung |
|---|---|---|
| `limit` | integer | 1–100, Standard 20. |
| `after` / `before` | string | Opaque-Cursor; nicht beide. |
| `order` | string | `desc` (Standard) oder `asc`. |
| `app_type` | string | Filtern nach: `web`, `spa`, `native`, `m2m`, `device`, `management`. |
| `status` | string | Filter: `active` oder `suspended`. |

## Antwort

`200 OK`.

```json
{
  "data": [ { "id": "app_6f8d0cjgbmf0gtn2rg6pscp3cg", "key": "portal", "…": "…" } ],
  "list_metadata": { "before": null, "after": "<cursor>" }
}
```

## Fehler

| HTTP | `code` | Wann |
|---|---|---|
| 401 | `unauthenticated` | Der Schlüssel fehlt, ist ungültig oder wurde widerrufen. |
| 403 | `insufficient_permissions` | Der Schlüssel hat nicht die erforderliche Berechtigung. |
| 400 | `invalid_cursor` | Der Cursor ist missgestaltet, wurde für andere Filter oder Reihenfolge ausgestellt, oder gehört einer anderen Umgebung. |
| 422 | `validation_failed` | Ein Query-Parameter ist ungültig (`limit`, `order`, `app_type`, `status`). |

## Beispiel

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