Bir üyeyi askıya alın
POST /fapi/v1/organizations/{org_id}/memberships/{membership_id}:suspend · ortamın giriş yap ana makinesinden çağrılır
Bir üyeliği askıya alır. Üye rollerini korur ancak kuruluşta işlem yapamaz: bu kuruluşun bağlamındaki oturumları ve belirteçleri iptal edilir ve bir üye onu yeniden etkinleştirene kadar kuruluşu seçemez. Zaten askıya alınmış bir üyeyi askıya almak, üyeliği değişmeden yanıtlar. Son etkin yönetici askıya alınamaz (409 last_org_admin).
Kimliği doğrulanmış kullanıcının tam eşleşen Origin değerine sahip __Host-idp_session çerezi veya birinci taraf bir uygulamanın ön API erişim belirteci (DPoP kanıtıyla Authorization: DPoP <token>; bkz. Ön API erişim belirteci) gereklidir. Kullanıcı, kuruluşun etkin bir üyesi olmalı ve hem idp_members:update_roles hem de idp_members:remove izinlerine sahip olmalıdır. Üye olmayan bir kullanıcı 404 not_found yanıtı alır; bu iki izne de sahip olmayan bir üye 403 insufficient_permissions yanıtı alır. Burada kendi üyeliğinizi değiştiremezsiniz (403 insufficient_permissions) ve yalnızca yönetici rolüne sahip bir üye, ayrıcalıklı bir rol taşıyan bir üyeyi değiştirebilir (403 role_not_assignable).
@keenauth/js ile: await keenauth.organizations.suspendMember(orgId, membershipId, { expectedVersion: 3 }).
İstek
Üstbilgiler:
| Üstbilgi | Zorunlu | Açıklama |
|---|---|---|
Idp-Client |
evet | SDK tanımlayıcısı. |
Origin |
evet, çerezle birlikte | https://<sign-in host>. |
If-Match |
hayır | Üye listesinden alınan tek bir sürüm, "<version>". Eşleşmeyen bir sürüm ya da birden fazla sürüm 412 precondition_failed döndürür. |
org_id: kuruluş tanımlayıcısı (org_…). membership_id: üyelik tanımlayıcısı (mem_…).
Gövde yoktur.
Yanıt
200 OK, üyelik ile birlikte (üye listesi öğesiyle aynı alanlar) ve ETag: "<version>".
Hatalar
| Durum | Kod | Ne zaman |
|---|---|---|
| 400 | malformed_request |
If-Match hatalı biçimlendirilmişse. |
| 401 | unauthenticated |
Geçerli bir oturum çerezi ya da belirteci yoksa. |
| 403 | insufficient_permissions |
Kullanıcıda idp_members:update_roles ya da idp_members:remove izni yoksa ya da üyelik kullanıcının kendi üyeliğiyse. |
| 403 | role_not_assignable |
Üye ayrıcalıklı bir role sahipse ve kullanıcının yönetici rolü yoksa. |
| 403 | origin_not_allowed |
Origin eşleşmiyorsa. |
| 404 | not_found |
Bu kullanıcı için kuruluş ya da üyelik yoksa; bilinmeyen, hatalı biçimlendirilmiş veya başka bir kaynağa ait tanımlayıcı da aynı yanıtı verir. |
| 409 | last_org_admin |
Üye, kuruluşun son etkin yöneticisiyse. |
| 409 | organization_disabled |
Kuruluş devre dışıysa ya da silinmeyi bekliyorsa (organization_pending_deletion). |
| 412 | precondition_failed |
If-Match, üyeliğin geçerli sürümünü belirtmiyorsa. |
| 422 | validation_failed |
Üyelik kaldırılmışsa. |
| 503 | service_unavailable |
Geçici olarak kullanılamıyorsa; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -X POST "https://example.keenauth.app/fapi/v1/organizations/org_01jbz6x8kq3m2n4p5r6s7t8v9a/memberships/mem_01jbz6x8kq3m2n4p5r6s7t8v9b:suspend" \
-H "Idp-Client: my-app/1.0.0 (node/22.0.0)" \
-H "Origin: https://example.keenauth.app" \
-H 'If-Match: "3"' \
-b cookies.txt
{
"id": "mem_01jbz6x8kq3m2n4p5r6s7t8v9b",
"user_id": "usr_01jbz6x8kq3m2n4p5r6s7t8v9c",
"status": "suspended",
"roles": [{ "role_id": "rol_01jbz6x8kq3m2n4p5r6s7t8v9w", "source": "admin_api" }],
"created_at": "2026-11-03T09:00:00Z",
"activated_at": "2026-11-03T09:00:00Z",
"expires_at": null,
"updated_at": "2026-11-03T11:00:00Z",
"version": 4
}
Kişisel veriler
Bu uç nokta kişisel veri içerir: kuruluş üyelikleri ve davetler. KeenAuth API'lerinde kişisel veriler bölümünde 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.