Bir kullanıcıyı bir kuruluşa ekleme
POST /v1/organizations/{org_id}/memberships · izin organizations:write
Mevcut bir kullanıcıyı doğrudan kuruluşa ekler (kaynak admin_api, durum active). role_ids gönderilmezse kuruluşun varsayılan üye rolü atanır; her rol bu ortamın bir rolü veya bu kuruluşun bir rolü olmalıdır. Yanıt bir ETag içerir; yazma işlemi organization_membership.created olarak denetlenir. Idempotency-Key isteğe bağlıdır.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
org_id |
yol | evet | Kuruluş kimliği (org_…). |
user_id |
metin | evet | Kullanıcı kimliği (usr_…). |
role_ids |
metin[] | hayır | Rol kimlikleri (rol_…), en fazla 50. |
expires_at |
metin | hayır | Üyeliğin sona ereceği, gelecekteki bir RFC 3339 zamanı. |
Yanıt
201 Created ile üyelik döner.
{
"id": "mem_01j9xn5p9s0t4v6w8x0y2z4a6c",
"organization_id": "org_01j9xk3m7q8r2s4t6v8w0y2z4a",
"user_id": "usr_01j9xh2k6p7q1r3s5t7v9w1x3y",
"status": "active",
"source": "admin_api",
"reason": null,
"roles": [
{
"role_id": "rol_01j9xr7s1t2w6x8y0z2a4b6c8e",
"source": "admin_api",
"assigned_at": "2026-10-12T09:31:00.123456Z"
}
],
"expires_at": null,
"created_at": "2026-10-12T09:31:00.123456Z",
"activated_at": "2026-10-12T09:31:00.123456Z",
"suspended_at": null,
"removed_at": null,
"updated_at": "2026-10-12T09:31:00.123456Z",
"version": 1
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 404 | not_found |
Kuruluş veya kullanıcı bu ortamda mevcut değil. |
| 403 | role_not_assignable |
Bir rol, bu ortamın rolü veya bu kuruluşun rolü değil. |
| 403 | user_not_active |
Kullanıcı etkin değil. |
| 409 | membership_already_exists |
Kullanıcı zaten kuruluşun üyesi. |
| 409 | organization_disabled |
Kuruluş devre dışı. |
| 409 | organization_membership_limit_reached |
Kuruluşun üyelik sınırına ulaşıldı. |
| 409 | membership_limit_reached |
Kullanıcının üyelik sınırına ulaşıldı. |
| 422 | anonymous_user_not_allowed |
Kullanıcı anonim. |
| 422 | validation_failed |
Bir alan eksik veya geçersiz. |
| 401 | unauthenticated |
Kimlik bilgisi eksik, geçersiz veya iptal edilmiş. |
| 403 | insufficient_permissions |
Kimlik bilgisi gerekli izne sahip değil. Ayrıcalıklı (is_privileged) bir rol atamak için ayrıca roles:write gerekir; bu izin yoksa hiçbir şey yazılmaz ve required_permissions her iki izni de listeler. |
| 429 | rate_limited |
Hız sınırı aşıldı; Retry-After süresinden sonra yeniden deneyin. |
| 503 | service_unavailable |
Bir bağımlılık geçici olarak kullanılamıyor; Retry-After süresinden sonra yeniden deneyin. |
Örnek
curl -i -X POST "https://api.eu.keenauth.com/v1/organizations/org_01j9xk3m7q8r2s4t6v8w0y2z4a/memberships" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"user_id":"usr_01j9xh2k6p7q1r3s5t7v9w1x3y","role_ids":["rol_01j9xr7s1t2w6x8y0z2a4b6c8e"]}'
Kişisel veriler
Bu uç nokta kişisel veri içerir: kuruluş üyelikleri ve davetler. KeenAuth API'lerindeki kişisel veriler sayfasında neyin saklandığı, ne kadar süreyle tutulduğu ve nasıl silindiği açıklanır. Hiçbir alanda özel nitelikli kişisel verileri (sağlık, biyometrik veriler, din, siyasi görüşler, cinsel yönelim) göndermeyin.