
# Org'un oturumlarını iptal et

`POST /v1/organizations/{org_id}/sessions:revoke` · izin `sessions:write`

Org bağlamında açılmış bütün etkin oturumları, org'un bütün kullanıcıları için, org'a verilmiş ya da bu oturumlara bağlı refresh token aileleriyle birlikte iptal eder. Org için verilmiş access token'lar o andan itibaren introspection ve iptal denetiminde kabul edilmez. Bir güvenlik olayından sonra ya da bir org'la çalışma sona ererken kullanın; tek kullanıcıyı ya da tek oturumu kapatmak için [Kullanıcının oturumlarını iptal et](../users/revoke-sessions.md) ucunu kullanın.

Gövde `reason` taşımalıdır. Not yalnız yönetim audit kaydına yazılır; oturumların iptal nedeni `admin`'dir. Zaten iptal edilmiş ya da süresi dolmuş oturumlar sayılmaz; tekrar çağrı sıfır sayılarla başarılı olur. Yeniden denemeleri güvenli kılmak için `Idempotency-Key` başlığı gönderin.

## İstek

| Parametre | Yer | Zorunlu | Açıklama |
|---|---|---|---|
| `org_id` | path | evet | `org_` önekli org kimliği. |

Gövde:

| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| `reason` | string | evet | Audit kaydı için notunuz: 1-256 karakter, kontrol karakteri ya da satır sonu yok. |

## Yanıt

`200 OK`.

```json
{
  "revoked_sessions": 42,
  "revoked_token_families": 57
}
```

| Alan | Açıklama |
|---|---|
| `revoked_sessions` | Bu çağrıda iptal edilen oturum sayısı. |
| `revoked_token_families` | Bu çağrıda iptal edilen refresh token ailesi sayısı. |

## Hatalar

Her hata, kararlı bir `code` taşıyan `application/problem+json` gövdesidir.

| HTTP | `code` | Ne zaman |
|---|---|---|
| 400 | `malformed_request`, `unknown_field` | Gövde geçerli JSON değil ya da bilinmeyen alan taşıyor. |
| 415 | `unsupported_media_type` | Gövde `Content-Type: application/json` olmadan gönderildi. |
| 422 | `validation_failed` | `reason` yok ya da boş (`required`), 256 karakterden uzun (`too_long`) ya da kontrol karakteri veya satır sonu içeriyor (`invalid_value`). |
| 404 | `not_found` | Org bu ortamda yok. |
| 401 | `unauthenticated` | API anahtarı yok, geçersiz ya da iptal edilmiş. |
| 403 | `insufficient_permissions` | Anahtarda `sessions:write` 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; sonra yeniden deneyin. |

## Örnek

```bash
curl -X POST https://api.eu.keenauth.com/v1/organizations/org_0a1b2c3d4e5f6g7h8j9k0m1n2p/sessions:revoke \
  -H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"reason": "Security incident INC-1042"}'
```

CLI: `keenauth organizations sessions revoke org_0a1b2c3d4e5f6g7h8j9k0m1n2p --reason "Security incident INC-1042" --yes`
