Kullanıcının doğrudan rollerini değiştir
PUT /v1/users/{user_id}/roles · izin users:write
Kullanıcının doğrudan ortam rollerini role_ids ile değiştirir (tam küme, en çok 50; boş dizi hepsini kaldırır). Org rolleri doğrudan atanamaz; org üyeliği üzerinden atanır. Aynı kümeyi yeniden yazmak hiçbir şeyi değiştirmez. Değişiklik kullanıcının refresh token ailelerine roles_changed işareti koyar (sonraki refresh yeni rolleri taşır) ve change=roles ile user.updated olarak audit'e düşer. Kümede ayrıcalıklı (is_privileged) rol varsa (yeni eklenen ya da korunan) kimlik bilgisi ayrıca roles:write taşımalıdır; ayrıcalıklı rolü kümeden çıkarmak yalnız users:write ister.
İstek
| Alan | Tür | Zorunlu | Açıklama |
|---|---|---|---|
user_id |
path | evet | Kullanıcı kimliği (usr_…). |
role_ids |
string[] | evet | Ortam rolü kimliklerinin tam kümesi (rol_…), en çok 50. |
Yanıt
200 OK; yeni rol kimlikleri.
{
"role_ids": [
"rol_01j9xr7s1t2w6x8y0z2a4b6c8e"
]
}
Hatalar
| HTTP | code | Ne zaman |
|---|---|---|
| 403 | role_not_assignable |
Bir rol org rolü. |
| 404 | not_found |
Kullanıcı bu ortamda yok. |
| 422 | validation_failed |
role_ids yok, biçimsiz ya da bilinmeyen kimlik (unknown_role), tekrar ya da 50'den fazla öğe içeriyor. |
| 401 | unauthenticated |
Kimlik bilgisi yok, geçersiz ya da iptal edilmiş. |
| 403 | insufficient_permissions |
Kimlik bilgisinde gerekli izin yok. Ayrıcalıklı (is_privileged) rol atamak ayrıca roles:write ister; yoksa hiçbir şey yazılmaz ve required_permissions 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 PUT "https://api.eu.keenauth.com/v1/users/usr_01j9xh2k6p7q1r3s5t7v9w1x3y/roles" \
-H "Authorization: Bearer $KEENAUTH_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{"role_ids":["rol_01j9xr7s1t2w6x8y0z2a4b6c8e"]}'