
# アプリケーションのトークンを取り消す

`POST /v1/applications/{application_id}/tokens:revoke` · 権限 `sessions:write`

アプリケーションに発行された、アクティブなリフレッシュトークンファミリーを、すべてのユーザー分取り消します。呼び出しの前にアプリケーションに発行されたアクセストークンは、イントロスペクションと失効チェックで受け付けられなくなります。アプリケーションに発行されたトークンが漏えいした可能性がある場合に使用してください。アプリケーションは、新しい認可リクエストを通じて新しいトークンを取得する必要があります。

セッション、ユーザーの同意、アプリケーションの認証情報は変更されません。ユーザーのサインインセッションは開いたままのため、新しい認可リクエストは再サインインなしで成功することがあり、同意も再度求められません。漏えいしたクライアントシークレットで新しいトークンが発行されるのを止めるには、[アプリケーションの認証情報](credentials/create.md) もローテーションしてください。リクエストにボディはありません。繰り返し呼び出しても、件数ゼロで成功します。取り消しは管理監査ログに記録されます。再試行を安全にするには、`Idempotency-Key` ヘッダーを送信してください。

## リクエスト

| パラメータ | 入力 | 必須 | 説明 |
|---|---|---|---|
| `application_id` | path | はい | アプリケーション ID。`app_` で始まります。 |

## レスポンス

`200 OK`。

```json
{
  "revoked_token_families": 318
}
```

`revoked_token_families` は、この呼び出しで取り消されたリフレッシュトークンファミリーの数です。

## エラー

すべてのエラーは、安定した `code` を含む `application/problem+json` ボディとして返されます。

| HTTP | `code` | 発生条件 |
|---|---|---|
| 400 | `malformed_request`、`unknown_field` | ボディが送信されていて、空の JSON オブジェクトではありません。 |
| 404 | `not_found` | アプリケーションがこの環境に存在しません。 |
| 401 | `unauthenticated` | API キーがない、無効、または失効しています。 |
| 403 | `insufficient_permissions` | キーに `sessions:write` 権限がありません。 |
| 429 | `rate_limited` | レート制限を超えました。`Retry-After` に従ってください。 |
| 503 | `service_unavailable` | 依存先が一時的に利用できません。後で再試行してください。 |

## 例

```bash
curl -X POST https://api.eu.keenauth.com/v1/applications/app_0a1b2c3d4e5f6g7h8j9k0m1n2p/tokens:revoke \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

CLI: `keenauth applications tokens revoke app_0a1b2c3d4e5f6g7h8j9k0m1n2p --yes`
