Denetim dışa aktarımı oluşturma
POST /v1/audit-exports · izin audit-exports:write
Eşleşen denetim kayıtlarını, KeenAuth'a güvenmeden doğrulayabileceğiniz imzalı bir pakete yazan bir iş kuyruğa alır. İş, 202 Accepted yanıtıyla döner; ardından Denetim dışa aktarımını alma ile takip edin ve Denetim dışa aktarımını indirme ile dosyayı alın.
Dışa aktarım yalnızca API anahtarlarıyla (gizli veya kısıtlı) oluşturulabilir; iş, anahtarı requested_by olarak kaydeder. Ortam, anahtardan alınır.
İstek
Idempotency-Key zorunludur (16 ila 64 karakter, A-Z a-z 0-9 _ -). Aynı anahtar ve aynı gövde, ilk işi Idempotent-Replayed: true ile döndürür; aynı anahtar farklı bir gövdeyle gönderilirse 422 idempotency_key_reuse hatası döner. SDK'lar ve CLI bu üstbilgiyi sizin yerinize ayarlar.
Filtreler, Denetim olaylarını listeleme bölümündekiyle aynıdır; atlanan bir alan filtre uygulamaz. Farklılıklar:
| Alan | Tür | Açıklama |
|---|---|---|
stream |
string | admin (varsayılan) veya application. |
from |
RFC 3339 | Dahil alt sınır. Varsayılan olarak saklama süresi penceresinin başlangıcıdır. 92 günlük bir sınır yoktur; bir paket en fazla 50 milyon satır içerebilir (yer tutucular dahil). |
to |
RFC 3339 | Hariç üst sınır. Varsayılan olarak şimdi'dir; gelecekte olamaz. |
action, category, actor_type, actor_id, target_type, target_id, org_id, outcome, request_id, correlation_id, agent_only |
Listedeki filtrelerle aynıdır. Listedeki client filtresi burada kullanılamaz; client alanı 400 unknown_field hatası verir. |
|
include_ip |
boolean | 13 aydan yeni kayıtlara tam IP adresini ve kullanıcı aracısını ekler. Ayrıca audit-events:read_ip iznini gerektirir. Varsayılan false. |
{
"stream": "admin",
"from": "2026-07-01T00:00:00Z",
"to": "2026-10-01T00:00:00Z",
"action": "user."
}
Ortam başına aynı anda en fazla 3 iş çalışır (geliştirme ve staging ortamlarında 1).
Yanıt
202 Accepted ve status değeri queued olan iş. filter, uygulanan filtreyi; from ve to varsayılanları doldurulmuş hâliyle gösterir. recorded_before, anlık görüntünün üst sınırıdır: yalnızca bundan önce saklanmış kayıtlar pakete girer.
{
"id": "aex_01j9xk3m7q8r2s4t6v8w0y2z4e",
"status": "queued",
"filter": {
"stream": "admin",
"from": "2026-07-01T00:00:00Z",
"to": "2026-10-01T00:00:00Z",
"action": "user.",
"category": null,
"actor_type": null,
"actor_id": null,
"target_type": null,
"target_id": null,
"org_id": null,
"outcome": null,
"request_id": null,
"correlation_id": null,
"agent_only": false
},
"include_ip": false,
"record_count": null,
"file": null,
"manifest_sha256": null,
"failure_reason": null,
"created_at": "2026-10-19T09:00:00Z",
"started_at": null,
"completed_at": null,
"expires_at": null,
"recorded_before": "2026-10-19T09:00:00Z",
"requested_by": {"type": "api_key", "id": "key_01j9xk3m7q8r2s4t6v8w0y2z4d"}
}
Hatalar
Her hata, sabit bir code içeren bir application/problem+json gövdesidir.
| HTTP | code |
Ne zaman |
|---|---|---|
| 400 | malformed_request |
Idempotency-Key eksik veya hatalıysa ya da gövde geçerli JSON değilse. |
| 400 | unknown_field |
Gövdede yukarıda listelenmeyen bir alan varsa. |
| 400 | invalid_filter |
Denetim servisi filtreyi reddetmişse, örneğin to gelecekteyse. |
| 400 | range_outside_retention |
from veya to, planınızın denetim saklama penceresinin dışındaysa. |
| 422 | validation_failed |
Bir alan geçersizse (yanlış tür, hatalı zaman damgası, to değerinin from değerinden sonra olmaması, bilinmeyen enum değeri, hatalı kimlik, boş dize). |
| 422 | idempotency_key_reuse |
Idempotency-Key, farklı bir gövdeyle kullanılmışsa. |
| 401 | unauthenticated |
API anahtarı eksik, geçersiz veya iptal edilmişse. |
| 403 | insufficient_permissions |
Anahtarda audit-exports:write izni yoksa, include_ip kullanılmış ancak audit-events:read_ip izni yoksa (required_permissions ikisini de listeler) veya çağıran bir API anahtarı değilse. |
| 429 | rate_limited |
Bu ortamda çok fazla iş çalışıyorsa ya da hız sınırı aşılmışsa; 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-exports \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"from": "2026-07-01T00:00:00Z", "to": "2026-10-01T00:00:00Z", "action": "user."}'
keenauth audit-exports create --from 2026-07-01T00:00:00Z --to 2026-10-01T00:00:00Z --action user.
Kişisel veriler
Bu uç nokta kişisel veri içerir: denetim olayları. KeenAuth API'lerinde kişisel veriler bölümünde 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.