ユーザーの認証手段を一覧表示する

GET /v1/users/{user_id}/authenticators · 権限 users:read

ユーザーの認証手段(パスキー、TOTP、SMS、メール、プッシュの各要素)を、作成日時の順に 1 ページで一覧表示します。過去 90 日以内に取り消されたものも含まれます。ユーザーごとの認証手段の数には上限があるため、一覧には limit、after、before、order がなく、list_metadata は常に null の値になります。返されるのはメタデータのみで、公開鍵、クレデンシャル ID、TOTP シークレット、リカバリーコードは決して返されません。

組織スコープ

組織の管理者向けにメンバーの診断ビューを作成する場合は、org_id を指定します。この場合、キーには organizations:read 権限も必要です。この権限がないと、何も読み取られる前に 403 insufficient_permissions でリクエストが失敗します。ユーザーがその組織のメンバーでない場合(invited、active、suspended のいずれのメンバーシップもない場合)、リクエストは 404 not_found で失敗します。これは存在しないユーザーの場合と同じレスポンスです。ユーザーがメンバーである場合、表示されるのは各認証手段の種類と MFA の登録有無だけです。一覧に含まれるのは有効な認証手段のみで、label、last_used_at、revoked_at、revoked_by、revoke_reason は null、synced は false になります。これは、組織外での本人のデバイス情報は組織の管理対象ではないためです。有効な認証手段のうち role が second_factor または both のものがあれば、MFA が登録されていると判断されます。org_id を指定しない場合、レスポンスは変わりません。

リクエスト

パラメータ 位置 必須 説明
user_id path はい ユーザー ID。接頭辞は usr_。
org_id query いいえ 組織 ID。接頭辞は org_。ビューをその組織に限定します。組織スコープを参照してください。organizations:read が必要です。

レスポンス

200 OK。data には作成日時の順に並んだ認証手段が含まれます。一覧はページ分割されないため、list_metadata は常に null の値になります。空のフィールドは null です。

キーに users:read_pii 権限がない場合、label はイニシャル(A. L.)に縮小されます。

{
  "data": [
    {
      "id": "cred_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "type": "webauthn",
      "role": "both",
      "label": "Laptop",
      "status": "active",
      "synced": true,
      "created_at": "2026-01-15T09:30:00Z",
      "last_used_at": "2026-02-01T08:00:00Z",
      "revoked_at": null,
      "revoked_by": null,
      "revoke_reason": null
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

type: webauthn、totp、sms、email、push · role: first_factor、second_factor、both · status: pending、active、revoked、clone_suspected

エラー

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

HTTP code 発生条件
404 not_found この環境にユーザーが存在しない(または ID の形式が不正)場合、または org_id を指定した際にユーザーがその組織のメンバーでない場合。
401 unauthenticated API キーが見つからない、無効である、または取り消されています。
403 insufficient_permissions キーに users:read 権限がない場合、または org_id を指定した際にキーに organizations:read がない場合。
429 rate_limited レート制限を超えました。Retry-After に従ってください。
503 service_unavailable 依存先が一時的に利用できません。しばらくしてから再試行してください。

例

curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/authenticators \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

個人データ

このエンドポイントは個人データを扱います。対象はクレデンシャルです。KeenAuth API における個人データでは、保存される内容、保持期間、削除方法を説明しています。いずれのフィールドにも、特別な種類の個人データ(健康、生体情報、宗教、政治的意見、性的指向)を送信しないでください。