ユーザーのセッションを一覧表示する
GET /v1/users/{user_id}/sessions · 権限 sessions:read
ユーザーのセッションを 1 ページで一覧表示します。最後にアクセスされたものが先頭に来る順で、最大 1,000 件です。一覧には limit、after、before、order がなく、list_metadata は常に null の値になります。既定では有効なセッションのみが返されます。include_inactive=true を指定すると、(保持期間内の)期限切れおよび取り消されたセッションも返されます。IP アドレスは完全な形で表示され、すべての表示は管理監査ログに記録されます。Cookie、トークン、デバイスのフィンガープリントは決して返されません。
組織スコープ
組織の管理者向けにメンバーの診断ビューを作成する場合は、org_id を指定します。この場合、キーには organizations:read 権限も必要です。この権限がないと、何も読み取られる前に 403 insufficient_permissions でリクエストが失敗します。ユーザーがその組織のメンバーでない場合(invited、active、suspended のいずれのメンバーシップもない場合)、リクエストは 404 not_found で失敗します。これは存在しないユーザーの場合と同じレスポンスです。ユーザーがメンバーである場合、返されるのはその組織のポリシーの下で開始されたセッション(org_id がその組織であるセッション)のみです。他の組織の文脈や、どの組織にも属さないユーザーのセッションは返されません。このビューでは ip_address と user_agent は null です。org_id を指定しない場合、レスポンスは変わりません。
リクエスト
| パラメータ | 位置 | 必須 | 説明 |
|---|---|---|---|
user_id |
path | はい | ユーザー ID。接頭辞は usr_。 |
include_inactive |
query | いいえ | true を指定すると、期限切れおよび取り消されたセッションも返します。既定値は false。 |
org_id |
query | いいえ | 組織 ID。接頭辞は org_。ビューをその組織に限定します。組織スコープを参照してください。organizations:read が必要です。 |
レスポンス
200 OK。空のフィールドは null です。
{
"data": [
{
"id": "ses_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"status": "active",
"login_host": "login.example.com",
"auth_time": "2026-02-01T08:00:00Z",
"acr": "mfa",
"amr": ["pwd", "otp"],
"created_at": "2026-02-01T08:00:00Z",
"last_seen_at": "2026-02-01T09:15:00Z",
"idle_expires_at": "2026-02-08T09:15:00Z",
"absolute_expires_at": "2026-03-03T08:00:00Z",
"org_id": null,
"ip_address": "203.0.113.10",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)",
"revoked_at": null,
"revoke_reason": null
}
],
"list_metadata": {
"before": null,
"after": null
}
}
status: active、expired、revoked · acr: 1fa、mfa、phr · org_id: セッションが属する組織(ある場合)。
エラー
すべてのエラーは、安定した code を含む application/problem+json のボディで返されます。
| HTTP | code |
発生条件 |
|---|---|---|
| 422 | validation_failed |
include_inactive が true または false ではありません。 |
| 404 | not_found |
この環境にユーザーが存在しない(または ID の形式が不正)場合、または org_id を指定した際にユーザーがその組織のメンバーでない場合。 |
| 401 | unauthenticated |
API キーが見つからない、無効である、または取り消されています。 |
| 403 | insufficient_permissions |
キーに sessions:read 権限がない場合、または org_id を指定した際にキーに organizations:read がない場合。 |
| 429 | rate_limited |
レート制限を超えました。Retry-After に従ってください。 |
| 503 | service_unavailable |
依存先が一時的に利用できません。しばらくしてから再試行してください。 |
例
curl "https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions?include_inactive=true" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth users sessions list usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --include-inactive
個人データ
このエンドポイントは個人データを扱います。対象はセッションです。KeenAuth API における個人データでは、保存される内容、保持期間、削除方法を説明しています。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。