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.