Kullanıcının oturumlarını listeleme
GET /v1/users/{user_id}/sessions · izin sessions:read
Kullanıcının oturumlarını tek sayfada, en son görülen önce olacak şekilde, en fazla 1.000 kayıtla listeler. Listede limit, after, before veya order yoktur ve list_metadata her zaman null değerlidir. Varsayılan olarak yalnızca etkin oturumlar döndürülür; include_inactive=true ile süresi dolmuş ve iptal edilmiş oturumlar (hâlâ saklama süresi içinde olanlar) da döndürülür. Tam IP adresi gösterilir ve her görüntüleme yönetim denetim günlüğüne yazılır. Çerezler, belirteçler ve cihaz parmak izleri hiçbir zaman döndürülmez.
Kuruluş kapsamı
Bir kuruluş yöneticisi için üye tanılama görünümü oluşturmak üzere org_id gönderin. Bu durumda anahtarın ayrıca organizations:read iznine sahip olması gerekir; aksi halde istek hiçbir veri okunmadan 403 insufficient_permissions hatasıyla başarısız olur. Kullanıcı bu kuruluşun üyesi değilse (invited, active veya suspended üyelik yoksa), istek bilinmeyen bir kullanıcıyla aynı yanıt olan 404 not_found hatasıyla başarısız olur. Kullanıcı üyeyse yalnızca o kuruluşun politikası altında açılmış oturumlar (org_id değeri o kuruluş olan oturumlar) döndürülür; kullanıcının başka bir kuruluş bağlamındaki ya da hiçbir kuruluşa bağlı olmayan oturumları asla döndürülmez. Bu görünümde ip_address ve user_agent değerleri null olur. org_id olmadan yanıt değişmez.
İstek
| Parametre | Konum | Zorunlu | Açıklama |
|---|---|---|---|
user_id |
path | evet | usr_ önekli kullanıcı kimliği. |
include_inactive |
query | hayır | Süresi dolmuş ve iptal edilmiş oturumların da döndürülmesi için true. Varsayılan değer false. |
org_id |
query | hayır | org_ önekli kuruluş kimliği. Görünümü o kuruluşla sınırlar; bkz. Kuruluş kapsamı. organizations:read gerektirir. |
Yanıt
200 OK. Boş alanlar null olur.
{
"data": [
{
"id": "ses_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"user_id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
"status": "active",
"login_host": "login.example.com",
"auth_time": "2026-02-01T08:00:00Z",
"acr": "mfa",
"amr": ["pwd", "otp"],
"created_at": "2026-02-01T08:00:00Z",
"last_seen_at": "2026-02-01T09:15:00Z",
"idle_expires_at": "2026-02-08T09:15:00Z",
"absolute_expires_at": "2026-03-03T08:00:00Z",
"org_id": null,
"ip_address": "203.0.113.10",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0)",
"revoked_at": null,
"revoke_reason": null
}
],
"list_metadata": {
"before": null,
"after": null
}
}
status: active, expired, revoked · acr: 1fa, mfa, phr · org_id: varsa oturumun kuruluşu.
Hatalar
Her hata, kararlı bir code içeren bir application/problem+json gövdesidir.
| HTTP | code |
Ne zaman |
|---|---|---|
| 422 | validation_failed |
include_inactive değeri true veya false değilse. |
| 404 | not_found |
Kullanıcı bu ortamda yoksa (ya da kimlik biçimi hatalıysa) veya org_id verilmiş ve kullanıcı o kuruluşun üyesi değilse. |
| 401 | unauthenticated |
API anahtarı eksik, geçersiz veya iptal edilmişse. |
| 403 | insufficient_permissions |
Anahtarda sessions:read izni yoksa veya org_id verilmiş ve anahtarda organizations:read yoksa. |
| 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/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions?include_inactive=true" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
CLI: keenauth users sessions list usr_0a1b2c3d4e5f6g7h8j9k0m1n2p --include-inactive
Kişisel veriler
Bu uç nokta kişisel veri içerir: oturumlar. KeenAuth API'lerinde kişisel veriler sayfasında neyin saklandığı, ne kadar süreyle 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.