
# Effektive Berechtigungen eines Benutzers abrufen

`GET /v1/users/{user_id}/effective-permissions` · Berechtigung `users:read`

Gibt die Berechtigungen zurück, die der Benutzer tatsächlich besitzt, zur Unterstützung und Fehlersuche: die Berechtigungen der direkten Umgebungsrollen des Benutzers und, wenn `org_id` angegeben ist, die der Rollen seiner aktiven Mitgliedschaft in dieser Organisation. Jede Berechtigung listet die Rollen auf, die sie gewähren. Berechtigungen gelöschter APIs sind nicht enthalten. Die Liste ist nicht paginiert und nach API, dann nach Berechtigungswert sortiert.

## Anfrage

| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| `user_id` | path | ja | Benutzer-ID (`usr_…`). |
| `org_id` | query | nein | Organisations-ID (`org_…`); schließt außerdem die Rollen der aktiven Mitgliedschaft des Benutzers dort ein. |
| `api_id` | query | nein | API-ID (`api_…`); nur die Berechtigungen dieser API. Eine unbekannte API ergibt eine leere Liste. |

Kein Request-Body.

## Antwort

`200 OK` mit den Berechtigungen.

```json
{
  "permissions": [
    {
      "permission_id": "perm_01j9xs0a2b4c6d8e0f2g4h6j8k",
      "api_id": "api_01j9xq1b3c5d7e9f1g3h5j7k9m",
      "value": "read:invoices",
      "role_ids": [
        "rol_01j9xr7s1t2w6x8y0z2a4b6c8e"
      ]
    }
  ]
}
```

## Fehler

| HTTP | code | Wann |
|---|---|---|
| 404 | `not_found` | Der Benutzer oder die in `org_id` angegebene Organisation existiert in dieser Umgebung nicht. |
| 422 | `validation_failed` | `org_id` oder `api_id` ist fehlerhaft formatiert oder doppelt angegeben. |
| 401 | `unauthenticated` | Der Berechtigungsnachweis fehlt, ist ungültig oder widerrufen. |
| 403 | `insufficient_permissions` | Dem Berechtigungsnachweis fehlt die erforderliche Berechtigung. |
| 429 | `rate_limited` | Das Ratenlimit wurde überschritten; wiederholen Sie die Anfrage nach der Zeit aus `Retry-After`. |
| 503 | `service_unavailable` | Eine Abhängigkeit ist vorübergehend nicht verfügbar; wiederholen Sie die Anfrage nach der Zeit aus `Retry-After`. |

## Beispiel

```bash
curl -i -X GET "https://api.eu.keenauth.com/v1/users/usr_01j9xh2k6p7q1r3s5t7v9w1x3y/effective-permissions?org_id=org_01j9xk3m7q8r2s4t6v8w0y2z4a" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```
