ログを一覧表示

GET /v1/logs · 権限 logs:read

環境のログレコード(サインイン、セッション、トークン、多要素認証、攻撃保護など)を、新しいものから順にカーソルベースのページネーションで一覧表示します。プランの保持期間(Free 7 日、Startup 14 日、Business 30 日、Enterprise 90 日)より古いレコードは返されません。

リクエスト

パラメーター 場所 必須 説明
limit query いいえ ページサイズ。1〜100。デフォルトは 20。
after query いいえ list_metadata.after から取得した不透明なカーソル(より古いレコード)。before と同時に指定できません。
before query いいえ list_metadata.before から取得した不透明なカーソル(より新しいレコード)。after と同時に指定できません。
from query いいえ RFC 3339 形式の時刻。この時刻以降のレコードを返します。保持期間内である必要があります。
to query いいえ RFC 3339 形式の時刻。この時刻より前のレコードを返します。from より後である必要があります。
type query いいえ authentication. や session.created などのログタイプの接頭辞。パラメーターを繰り返すことで最大 20 個の値を指定できます。いずれかに一致するレコードが返されます。
outcome query いいえ success、failure、denied、または error。
user_id、org_id、application_id、connection_id、directory_id、session_id query いいえ 接頭辞付き ID(usr_、org_、app_、conn_、dir_、ses_)の完全一致。
request_id query いいえ リクエストの Idp-Request-Id(UUID)。たとえばホストされたサインインのエラーページに表示される ID です。
correlation_id query いいえ ワークフローの Idp-Correlation-Id(UUID)。
ip query いいえ IP アドレスまたは CIDR ブロック(203.0.113.0/24)。audit-events:read_ip 権限が必要です。
ip_country query いいえ IP の国。ISO 3166-1 alpha-2 の大文字(DE)。
q query いいえ マスクされた識別子ヒントの接頭辞(j***@)。users:read_pii 権限が必要です。

レコードは常に occurred_at の順、新しいものから並べられます。order パラメーターはありません(order=desc は受け付けられ、それ以外の値は validation_failed で失敗します)。カーソルは、発行された時点のフィルターと組み合わせた場合にのみ有効です。

ip および q フィルターは、結果を絞り込むだけでも、その権限が必要です。権限がない場合、検索が実行される前に 403 insufficient_permissions でリクエストが失敗します。そのため、キーは読み取る権限のない値を推測することはできません。

レスポンス

200 OK を返します。data にはそのページのレコードが入ります。list_metadata.after はより古いレコードを、list_metadata.before はより新しいレコードを指します(該当がない場合は null)。総件数は返されません。空のフィールドは null になります。

ip、ip_asn、user_agent、user_agent_family は、キーが audit-events:read_ip 権限を持つ場合にのみ含まれ、identifier_hint は users:read_pii 権限を持つ場合にのみ含まれます。権限がない場合、そのフィールドは (マスクされた値も含めて) 完全に省略されます。ip_country は常に返されます。

{
  "data": [
    {
      "id": "evt_01j9xk3m7q8r2s4t6v8w0y2z4a",
      "occurred_at": "2026-10-01T08:15:42.120Z",
      "type": "authentication.password.failed",
      "outcome": "failure",
      "reason_code": "invalid_credentials",
      "user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
      "org_id": null,
      "application_id": "app_01j9xk3m7q8r2s4t6v8w0y2z4b",
      "connection_id": "conn_01j9xk3m7q8r2s4t6v8w0y2z4c",
      "directory_id": null,
      "session_id": null,
      "identifier_hint": "a***@e***.com",
      "ip": "203.0.113.7",
      "ip_country": "DE",
      "ip_asn": 64500,
      "user_agent": "Mozilla/5.0 (X11; Linux x86_64)",
      "user_agent_family": "Firefox",
      "risk": null,
      "auth_context": null,
      "act_chain": null,
      "details": {"attempt": 3},
      "request_id": "0192a6c1-7d3e-7a10-9b2c-3d4e5f607182",
      "correlation_id": null,
      "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": "<opaque cursor>"
  }
}

エラー

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

HTTP code 発生条件
400 invalid_cursor カーソルの形式が不正か、このリクエスト用に発行されたものではありません。
400 invalid_filter ログサービスがフィルターまたはカーソルを拒否しました。
400 range_outside_retention from がプランの保持期間より前の時刻です。
422 validation_failed クエリパラメーターが不正です(limit が範囲外、タイムスタンプが不正、to が from より後でない、type の値が 20 個を超える、ID または IP の形式が不正、パラメーターの重複)。
401 unauthenticated API キーが存在しない、無効、または取り消されています。
403 insufficient_permissions キーに logs:read 権限がないか、audit-events:read_ip 権限なしで ip を、users:read_pii 権限なしで q を使用しています(required_permissions にリクエストに必要な権限が一覧表示されます)。
429 rate_limited レート制限を超えました。Retry-After に従ってください。
503 service_unavailable 依存先が一時的に利用できません。後で再試行してください。

例

curl "https://api.eu.keenauth.com/v1/logs?type=authentication.&outcome=failure&from=2026-10-01T00:00:00Z" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"

個人データ

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