
# Uygulama API yetkisini ayarlama

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

Bir uygulamanın bir API için talep edebileceği kapsamları bütünüyle değiştirir. Bir uygulama en fazla 50 API için yetkiye sahip olabilir.

## İstek

| Parametre | İçinde | Açıklama |
|---|---|---|
| `application_id` | path | Uygulama kimliği (`app_…`). |
| `api_id` | path | API kimliği (`api_…`). |

**Gövde**

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `scopes` | string[] | evet | İzin verilen kapsamlar (`resource:action`); her biri API üzerinde tanımlı olmalıdır. En fazla 1000. |
| `default_scopes` | string[] | hayır | Varsayılan olarak verilen kapsamlar; `scopes` içinde bir alt küme olmalıdır. |

## Yanıt

Yetki ile birlikte `200 OK`.

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

## Hatalar

| HTTP | `code` | Ne zaman |
|---|---|---|
| 401 | `unauthenticated` | Anahtar eksik, geçersiz veya iptal edilmiş. |
| 403 | `insufficient_permissions` | Anahtarın gerekli izni yok. |
| 404 | `not_found` | Uygulama ya da yetki bu ortamda mevcut değil. |
| 422 | `validation_failed` | Bir kapsam hatalı biçimde ya da API üzerinde tanımlı değil veya `default_scopes`, `scopes` içinde bir alt küme değil. |
| 403 | `quota_exceeded` | Uygulama zaten 50 API için yetkiye sahip. |
| 400 | `unknown_field` | Gövdede şemaya ait olmayan bir alan var. |

## Örnek

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