
# Kullanıcı silmeyi iptal et

`POST /v1/users/{user_id}:cancel-deletion` · izin `users:write`

Hâlâ bekleme süresinde olan bir kullanıcı silme işlemini iptal eder (self-service silme). Kullanıcı yeniden `active` olur; açık bir engel varsa `blocked` olur. Kullanıcı silinmesi beklemiyorsa çağrı hiçbir şeyi değiştirmez ve kullanıcıyı döndürür. İstek gövde almaz.

## İstek

| Parametre | Konum | Zorunlu | Açıklama |
|---|---|---|---|
| `user_id` | path | evet | Kullanıcı kimliği, `usr_` önekiyle. |

## 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 |
|---|---|---|
| 409 | `conflict` | Bekleme süresi dolmuş ve silme işlemi çalışıyorsa; artık iptal edilemez (`errors[].code` değeri `deletion_due`). |
| 404 | `not_found` | Kullanıcı bu ortamda yoksa (veya kimlik hatalı biçimdeyse). |
| 401 | `unauthenticated` | API anahtarı eksik, geçersiz veya iptal edilmişse. |
| 403 | `insufficient_permissions` | Anahtarda `users:write` 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

```bash
curl -X POST https://api.eu.keenauth.com/v1/users/usr_0a1b2c3d4e5f6g7h8j9k0m1n2p:cancel-deletion \
  -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.
