Günlükleri listele
GET /v1/logs · izin logs:read
Ortamın günlük kayıtlarını (oturum açmalar, oturumlar, belirteçler, çok faktörlü kimlik doğrulama, saldırı koruması ve daha fazlası) imleç tabanlı sayfalama ile en yeniden en eskiye doğru listeler. Planınızın saklama süresinden (Free 7, Startup 14, Business 30, Enterprise 90 gün) daha eski kayıtlar hiçbir zaman döndürülmez.
İstek
| Parametre | Konum | Zorunlu | Açıklama |
|---|---|---|---|
limit |
query | hayır | Sayfa boyutu, 1 ile 100 arası. Varsayılan 20. |
after |
query | hayır | list_metadata.after alanından gelen opak imleç (daha eski kayıtlar). before ile birlikte kullanılamaz. |
before |
query | hayır | list_metadata.before alanından gelen opak imleç (daha yeni kayıtlar). after ile birlikte kullanılamaz. |
from |
query | hayır | RFC 3339 zamanı; bu zamana eşit veya sonraki kayıtlar. Saklama süresi içinde olmalıdır. |
to |
query | hayır | RFC 3339 zamanı; bu zamandan önceki kayıtlar. from değerinden sonra olmalıdır. |
type |
query | hayır | authentication. veya session.created gibi günlük türü öneki. Parametreyi en fazla 20 değer için tekrarlayın; bunlardan herhangi biriyle eşleşen kayıt döndürülür. |
outcome |
query | hayır | success, failure, denied veya error. |
user_id, org_id, application_id, connection_id, directory_id, session_id |
query | hayır | Ön ekli kimlikle tam eşleşme (usr_, org_, app_, conn_, dir_, ses_). |
request_id |
query | hayır | Bir isteğin Idp-Request-Id değeri (UUID); örneğin barındırılan oturum açma hata sayfasında gösterilen kimlik. |
correlation_id |
query | hayır | Bir iş akışının Idp-Correlation-Id değeri (UUID). |
ip |
query | hayır | IP adresi veya CIDR bloğu (203.0.113.0/24). audit-events:read_ip izni gerektirir. |
ip_country |
query | hayır | IP adresinin ülkesi; büyük harfle ISO 3166-1 alpha-2 (DE). |
q |
query | hayır | Maskelenmiş tanımlayıcı ipucunun öneki (j***@). users:read_pii izni gerektirir. |
Kayıtlar her zaman occurred_at alanına göre en yeniden en eskiye sıralanır; order parametresi yoktur (order=desc kabul edilir, başka bir değer validation_failed hatasıyla sonuçlanır). İmleç yalnızca üretildiği filtrelerle geçerlidir.
ip ve q filtreleri yalnızca sonucu daraltsa bile bu izinleri gerektirir: izin olmadan istek, herhangi bir arama yapılmadan 403 insufficient_permissions hatasıyla başarısız olur. Böylece bir anahtar okumasına izin verilmeyen değerleri yoklayamaz.
Yanıt
200 OK döner. data sayfadaki kayıtları içerir; list_metadata.after daha eski kayıtlara, list_metadata.before ise daha yeni kayıtlara işaret eder (kayıt yoksa null). Toplam sayı döndürülmez. Boş alanlar null olur.
ip, ip_asn, user_agent ve user_agent_family alanları yalnızca anahtarın audit-events:read_ip iznine sahip olması durumunda bulunur; identifier_hint alanı ise yalnızca users:read_pii iznine sahip olması durumunda bulunur. İzin yoksa alan tamamen çıkarılır (maskelenmiş değer döndürülmez). ip_country her zaman döndürülür.
{
"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>"
}
}
Hatalar
Her hata, kararlı bir code değeri içeren bir application/problem+json gövdesidir.
| HTTP | code |
Ne zaman |
|---|---|---|
| 400 | invalid_cursor |
İmleç hatalı biçimde veya bu istek için üretilmemiş. |
| 400 | invalid_filter |
Günlük hizmeti bir filtreyi veya imleci reddetti. |
| 400 | range_outside_retention |
from değeri, planınızın saklama süresinden daha eski. |
| 422 | validation_failed |
Bir sorgu parametresi geçersiz (limit aralık dışında, hatalı zaman damgası, to değeri from değerinden sonra değil, 20'den fazla type değeri, hatalı kimlik veya IP, tekrarlanan parametre). |
| 401 | unauthenticated |
API anahtarı eksik, geçersiz veya iptal edilmiş. |
| 403 | insufficient_permissions |
Anahtarda logs:read izni yok ya da ip filtresi audit-events:read_ip olmadan ya da q filtresi users:read_pii olmadan kullanılmış (required_permissions isteğin gerektirdiklerini listeler). |
| 429 | rate_limited |
Hız sınırı aşıldı; Retry-After değerine uyun. |
| 503 | service_unavailable |
Bir bağımlılık geçici olarak kullanılamıyor; daha sonra yeniden deneyin. |
Örnek
curl "https://api.eu.keenauth.com/v1/logs?type=authentication.&outcome=failure&from=2026-10-01T00:00:00Z" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
Kişisel veriler
Bu uç nokta kişisel veri içerir: ortam günlükleri. KeenAuth API'lerinde kişisel veriler bölümünde neyin saklandığı, ne kadar süre tutulduğu ve nasıl silindiği açıklanmaktadır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.