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