
# Setze eine Anwendungs-API-Berechtigung

`PUT /v1/applications/{application_id}/api-grants/{api_id}` · Berechtigung `applications:write`

Ersetzt vollständig die Scopes, die eine Anwendung für eine API anfordern darf. Eine Anwendung kann Genehmigungen für höchstens 50 APIs haben.

## Anfrage

| Parameter | In | Beschreibung |
|---|---|---|
| `application_id` | path | Anwendungs-ID (`app_…`). |
| `api_id` | path | API-ID (`api_…`). |

**Body**

| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| `scopes` | string[] | ja | Zulässige Scopes (`resource:action`); jeder muss auf der API definiert sein. Maximal 1000. |
| `default_scopes` | string[] | nein | Scopes, die standardmäßig gewährt werden; eine Teilmenge von `scopes`. |

## Antwort

`200 OK` mit der Berechtigung.

```json
{
  "application_id": "app_6f8d0cjgbmf0gtn2rg6pscp3cg",
  "api_id": "api_0000000000000000000000001z",
  "scopes": ["orders:read", "orders:write"],
  "default_scopes": ["orders:read"],
  "created_at": "2026-10-05T10:00:01Z",
  "updated_at": "2026-10-05T10:00:01Z"
}
```

## 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. |
| 404 | `not_found` | Die Anwendung oder die Berechtigung existiert nicht in dieser Umgebung. |
| 422 | `validation_failed` | Ein Scope ist missgestaltet oder nicht auf der API definiert, oder `default_scopes` ist keine Teilmenge von `scopes`. |
| 403 | `quota_exceeded` | Die Anwendung hält bereits Genehmigungen für 50 APIs. |
| 400 | `unknown_field` | Der Body hat ein Feld, das nicht Teil des Schemas ist. |

## Beispiel

```bash
curl -X PUT https://api.eu.keenauth.com/v1/applications/app_6f8d0cjgbmf0gtn2rg6pscp3cg/api-grants/api_0000000000000000000000001z \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scopes":["orders:read","orders:write"],"default_scopes":["orders:read"]}'
```
