ユーザーのセッションを一覧表示する

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 における個人データでは、保存される内容、保持期間、削除方法を説明しています。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。