
# セッションをサインアウト

`POST /fapi/v1/me/sessions/{session_id}:revoke` · 環境のサインインホストから呼び出します

認証済みユーザーの他のセッションのうち 1 つを終了します。そのセッションのリフレッシュトークンは取り消され、発行されたアクセストークンは拒否され、そのセッションを通じてサインインしていたアプリケーションには通知されます。リクエストを行っているセッション自体はここでは終了できません。このブラウザからサインアウトするには、ログアウトエンドポイント（`/oauth2/logout`）を使用してください。これは Cookie も削除します。認証済みユーザーの `__Host-idp_session` Cookie が必要です。Cookie がない、期限切れである、または取り消されている場合は `401 unauthenticated` を返します。別のオリジンにある自社アプリは、代わりにフロント API アクセストークン（DPoP 証明付きの `Authorization: DPoP <token>`。[フロント API アクセストークン](/docs/api/fapi/front-api-token)を参照）を送信できます。セッションは直近 300 秒以内に検証されている必要があります。そうでない場合は、RFC 9470 の `WWW-Authenticate` チャレンジ（`max_age=300`）を伴う `401 step_up_required` を返し、何も変更されません。再度サインインし（例: `max_age=0` または `prompt=login`）、リトライしてください。そのユーザーの、すでに終了しているセッションを指定した場合は `204` を返し、何も変更されません。

## リクエスト

ヘッダー:

| ヘッダー | 必須 | 説明 |
| --- | --- | --- |
| `Idp-Client` | はい | SDK の識別子です。 |
| `Origin` | はい | `https://<サインインホスト>` と完全に一致している必要があります。 |

`session_id`: `GET /fapi/v1/me/sessions` が返すセッション識別子（`ses_…`）です。

ボディはありません。

## レスポンス

`204 No Content`。

## エラー

| ステータス | コード | 発生条件 |
| --- | --- | --- |
| 401 | `unauthenticated` | 有効なセッション Cookie がありません。 |
| 401 | `step_up_required` | セッションが 300 秒より前に検証されています。 |
| 403 | `origin_not_allowed` | `Origin` がないか、誤っています。 |
| 404 | `not_found` | このユーザーの該当セッションがありません（存在しない識別子、形式が不正な識別子、他のユーザーの識別子はいずれも同じ応答になります）。 |
| 409 | `conflict` | 指定された識別子が、リクエストを行っているセッション自体です。 |

## 例

```bash
curl -X POST https://example.keenauth.app/fapi/v1/me/sessions/ses_01jbz6x8kq3m2n4p5r6s7t8v9w:revoke \
  -H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
  -H "Origin: https://example.keenauth.app" \
  -b cookies.txt
```
