Denetim olaylarını listele

GET /v1/audit-events · izin audit-events:read

Ortamın denetim kayıtlarını imleç tabanlı sayfalama ile en yeniden en eskiye doğru listeler. admin akışı, yönetim API'si, kontrol paneli ve platform üzerinden yapılan değişiklikleri içerir; application akışı ise uygulamanızın yazdığı olayları içerir. Her kayıt, ortam ve akış bazında bir karma zincirinin parçasıdır; bu nedenle geçmiş, bir dışa aktarma (POST /v1/audit-exports) ile bağımsız olarak doğrulanabilir.

Ortam her zaman API anahtarından alınır; bir ortam parametresi yoktur.

İstek

Parametre Konum Zorunlu Açıklama
limit sorgu hayır Sayfa boyutu, 1 ile 100 arası. Varsayılan 20.
after sorgu hayır list_metadata.after değerinden gelen, şeffaf olmayan imleç (daha eski kayıtlar). before ile birlikte kullanılamaz.
before sorgu hayır list_metadata.before değerinden gelen, şeffaf olmayan imleç (daha yeni kayıtlar). after ile birlikte kullanılamaz.
stream sorgu hayır admin (varsayılan) veya application.
from sorgu hayır RFC 3339 zamanı; bu zamanda veya sonrasındaki kayıtlar. Varsayılan, saklama penceresinin başlangıcı ile to eksi 92 gün değerlerinin daha geç olanıdır.
to sorgu hayır RFC 3339 zamanı; bu zamandan önceki kayıtlar. Varsayılan şimdidir. from ile to arasındaki aralık en fazla 92 gündür.
action sorgu hayır user. veya connection.updated gibi bir işlem öneki.
category sorgu hayır authentication, session, token, administration, provisioning, federation, authorization, data_access, security, key_management, configuration veya application.
actor_type sorgu hayır api_key, dashboard_user, m2m_client, agent veya system gibi bir işlem yapan türü.
actor_id sorgu hayır Kaydedildiği biçimiyle tam işlem yapan kimliği (key_…, usr_…, system:<service>).
target_type sorgu hayır user, organization veya audit_export gibi bir hedef türü.
target_id sorgu hayır Tam hedef kimliği. target_type ile birlikte kullanıldığında ikisi de aynı hedefle eşleşmelidir.
org_id sorgu hayır Bir kuruluşla ilgili kayıtlar (org_…).
outcome sorgu hayır success, failure, denied veya error.
request_id sorgu hayır Bir isteğin Idp-Request-Id değeri (UUID).
correlation_id sorgu hayır Bir iş akışının Idp-Correlation-Id değeri (UUID).
agent_only sorgu hayır true değeri yalnızca temsilci işlemlerini döndürür: actor_type değeri agent olan veya boş olmayan bir act_chain içeren kayıtlar.
client sorgu hayır Çağrıyı yapan istemci türü: mcp (yönetim MCP sunucusu, metadata.client = mcp/<version>) veya cli (KeenAuth CLI, cli/<version>). Bu değeri istemci kendisi bildirir; kimin işlem yaptığının kanıtı değildir, kanıt kaydın işlem yapanıdır. Yalnızca listeleme için geçerlidir; bir dışa aktarmada client filtresi yoktur.

Kayıtlar her zaman occurred_at (sonra id) alanına göre en yeniden en eskiye sıralanır; bir order parametresi yoktur (order=desc kabul edilir, başka bir değer validation_failed hatasıyla sonuçlanır). Bir imleç yalnızca üretildiği filtreler ve ortam ile geçerlidir. Toplam kayıt sayısı döndürülmez.

10 saniyeden uzun süren bir arama 422 search_too_broad hatasıyla durur: filtreleri ya da zaman aralığını daraltın, büyük aralıklar için bir dışa aktarma kullanın.

Yanıt

200 OK. data alanı 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). Boş alanlar null olarak döner.

ip ve user_agent alanları yalnızca anahtarda audit-events:read_ip izni varsa bulunur ve yalnızca 13 aydan yeni kayıtlarda doldurulur. İzin yoksa alanlar tamamen çıkarılır (maskelenmiş bir değer döndürülmez). ip_prefix, ip_country, ip_asn ve user_agent_family her zaman döndürülür. prev_hash, org_prev_hash ve record_hash dolgusuz base64url SHA-256 değerleridir.

{
  "data": [
    {
      "id": "evt_01j9xk3m7q8r2s4t6v8w0y2z4a",
      "stream": "admin",
      "seq": 4182,
      "schema_version": 1,
      "action": "user.blocked",
      "category": "administration",
      "outcome": "success",
      "reason_code": null,
      "occurred_at": "2026-10-01T08:15:42.120Z",
      "received_at": "2026-10-01T08:15:42.131Z",
      "recorded_at": "2026-10-01T08:15:42.140Z",
      "clock_anomaly": false,
      "actor_type": "api_key",
      "actor_id": "key_01j9xk3m7q8r2s4t6v8w0y2z4d",
      "act_chain": null,
      "session_id": null,
      "auth_context": null,
      "elevation_ref": null,
      "org_id": null,
      "targets": [
        {"type": "user", "id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p", "org_id": null, "name": null}
      ],
      "application_id": null,
      "ip_prefix": "203.0.113.0/24",
      "ip_country": "DE",
      "ip_asn": 64500,
      "user_agent_family": "keenauth-go",
      "request_id": "0192a6c1-7d3e-7a10-9b2c-3d4e5f607182",
      "correlation_id": null,
      "trace_id": "4bf92f3577b34da6a3ce929d0e0e4736",
      "producer_service": "directory",
      "policy_ref": "perm:users:write",
      "changes": {"status": {"old": "active", "new": "blocked"}},
      "metadata": null,
      "prev_hash": "n4bQgYhMfWWaL-qgxVrQFaO_TxsrC4Is0V1sFbDwCgg",
      "org_prev_hash": null,
      "record_hash": "LCa0a2j_xo_5m0U8HTBBNBNCLXBkg7-g-YpeiGJm564"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": "<opaque cursor>"
  }
}

Hatalar

Her hata, kararlı bir code değerine sahip bir application/problem+json gövdesidir.

HTTP code Ne zaman
400 invalid_cursor İmleç hatalıysa veya bu istek için üretilmediyse.
400 invalid_filter Denetim servisi bir filtreyi reddettiyse, örneğin aralık 92 günden uzunsa.
400 range_outside_retention from veya to, planınızın denetim saklama penceresinin dışındaysa.
422 validation_failed Bir sorgu parametresi geçersizse (limit aralık dışındaysa, zaman damgası hatalıysa, to from değerinden sonra değilse, stream, category veya outcome bilinmiyorsa, kimlik biçimi hatalıysa, parametre tekrarlanmışsa, order değeri desc dışındaysa).
422 search_too_broad Arama 10 saniyeden uzun sürdüyse; aramayı daraltın.
401 unauthenticated API anahtarı eksikse, geçersizse veya iptal edilmişse.
403 insufficient_permissions Anahtarda audit-events:read izni yoksa.
429 rate_limited Hız sınırı aşıldıysa; Retry-After değerine uyun.
503 service_unavailable Bir bağımlılık geçici olarak kullanılamıyorsa; daha sonra yeniden deneyin.

Örnek

curl "https://api.eu.keenauth.com/v1/audit-events?action=user.&from=2026-10-01T00:00:00Z" \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
keenauth audit-events list --action user. --from 2026-10-01T00:00:00Z

Kişisel veriler

Bu uç nokta kişisel veri içerir: denetim olayları. KeenAuth API'lerinde kişisel veriler sayfasında neyin saklandığı, ne kadar süreyle tutulduğu ve nasıl silindiği açıklanır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.