
# アプリケーションのAPI付与を設定する

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

アプリケーションが1つのAPIについてリクエストできるスコープを全体的に置き換えます。アプリケーションは最大50個のAPIに対する付与を保持できます。

## リクエスト

| パラメーター | 場所 | 説明 |
|---|---|---|
| `application_id` | path | アプリケーションID(`app_…`)。 |
| `api_id` | path | APIID(`api_…`)。 |

**Body**

| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
| `scopes` | string[] | はい | 許可されたスコープ(`resource:action`)。各スコープはAPI上で定義される必要があります。最大1000個。 |
| `default_scopes` | string[] | いいえ | デフォルトで許可されるスコープ。`scopes`のサブセット。 |

## レスポンス

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

## エラー

| HTTP | `code` | 状況 |
|---|---|---|
| 401 | `unauthenticated` | キーが見つからない、無効、またはアクティベーション解除されている。 |
| 403 | `insufficient_permissions` | キーが必要な権限を持っていない。 |
| 404 | `not_found` | この環境にアプリケーションまたは付与が存在しない。 |
| 422 | `validation_failed` | スコープが不正な形式か、API上で定義されていない、または`default_scopes`が`scopes`のサブセットではない。 |
| 403 | `quota_exceeded` | アプリケーションが既に50個のAPIの付与を保持している。 |
| 400 | `unknown_field` | ボディにスキーマに含まれないフィールドがあります。 |

## 例

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