
# Bir kullanıcıyı al

`GET /v1/users/{user_id}` · izin `users:read`

Tek bir kullanıcıyı döndürür. Başka bir ortamın kullanıcısı, var olmayan bir kullanıcı ve silinmiş bir kullanıcı için `404` döner; varlık ortamlar arasında asla açıklanmaz.

## İstek

| Parametre | Konum | Zorunlu | Açıklama |
|---|---|---|---|
| `user_id` | path | evet | Kullanıcı kimliği, `usr_` öneki ile. |
| `include` | query | hayır | Silinmiş bir kullanıcı için `404` yerine bir kayıt izi (tombstone) almak için `deleted` olarak ayarlayın. |

`include=deleted` ile silinmiş bir kullanıcı, `deleted_at`, `deletion_id`, `backups_purged_by` (verilerin yedeklerden temizleneceği tarih) ve birleştirilmiş bir kullanıcı için `merged_into` alanlarıyla `410` döner; hiç var olmamış bir kullanıcı yine `404` döner.

## Yanıt

`200 OK`. Gövde kullanıcı nesnesidir. `ETag` başlığı kullanıcı sürümünü taşır.

Anahtarda `users:read_pii` izni yoksa kişisel veriler maskelenir: `email` değeri `a***@e***.com` olur, `phone_number` yalnızca son 2 hanesini korur (`+**********67`), `name`, `given_name`, `family_name`, `middle_name` ve `nickname` baş harflere dönüşür (`A. L.`), `username` yalnızca ilk karakterini korur (`a***`), `birthdate` `****-**-**` olur ve `address` `{"redacted": true}` olur. `user_metadata` ve `app_metadata` maskelenmez.

```json
{
  "id": "usr_0a1b2c3d4e5f6g7h8j9k0m1n2p",
  "kind": "regular",
  "status": "active",
  "external_id": null,
  "username": null,
  "name": "Ada Lovelace",
  "email": "ada@example.com",
  "email_verified": true,
  "phone_number": null,
  "phone_verified": false,
  "user_metadata": {},
  "app_metadata": {},
  "created_via": "admin_api",
  "created_at": "2026-01-15T09:30:00Z",
  "updated_at": "2026-01-15T09:30:00Z",
  "last_sign_in_at": null,
  "deletion_requested_at": null,
  "deletion_due_at": null
}
```

## Hatalar

Her hata, kararlı bir `code` içeren bir `application/problem+json` gövdesidir.

| HTTP | `code` | Ne zaman |
|---|---|---|
| 404 | `not_found` | Kullanıcı bu ortamda mevcut değil (veya kimlik biçimi hatalı). |
| 410 | `user_deleted` | Kullanıcı silinmiş ve `include=deleted` istenmiş; gövde `deleted_at`, `deletion_id`, `backups_purged_by` ve birleştirilmiş bir kullanıcı için `merged_into` alanlarını içerir. |
| 401 | `unauthenticated` | API anahtarı eksik, geçersiz veya iptal edilmiş. |
| 403 | `insufficient_permissions` | Anahtarda `users:read` izni yok. |
| 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

```bash
curl https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY"
```

## Kişisel veriler

Bu uç nokta kişisel veri içerir: son kullanıcı profili. [KeenAuth API'lerinde kişisel veriler](/docs/policies/personal-data) neyin saklandığını, ne kadar süre tutulduğunu ve nasıl silindiğini açıklar. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.
