Usuarios
Actualizar Roles de Usuario
Actualizar las asignaciones de roles de un usuario.
PUT /api/user/:id/roles
Reemplaza los roles de un usuario del tenant activo: el usuario queda exactamente con los roles enviados. El usuario que realiza la llamada debe tener un rol superior al del usuario objetivo, y solo puede asignar roles inferiores al suyo.
Auth: Requerida — permiso user:update
Encabezados
| Encabezado | Requerido | Valor |
|---|---|---|
Authorization | Sí | Bearer <access_token> |
x-tenant-id | Sí | UUID del tenant |
Parámetros de Ruta
| Parámetro | Tipo | Descripción |
|---|---|---|
id | UUID | ID del usuario a actualizar |
Cuerpo de la Solicitud
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
roles | string[] | Sí | Valores de rol que reemplazan los roles actuales del usuario, al menos uno: admin, fde, supervisor, operator, viewer (ver Roles y Permisos) |
Ejemplo
curl -X PUT https://api.reten.ai/api/user/550e8400-e29b-41d4-a716-446655440000/roles \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>" \
-H "Content-Type: application/json" \
-d '{
"roles": ["supervisor"]
}'const userId = "550e8400-e29b-41d4-a716-446655440000";
const response = await fetch(`https://api.reten.ai/api/user/${userId}/roles`, {
method: "PUT",
headers: {
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
"Content-Type": "application/json",
},
body: JSON.stringify({ roles: ["supervisor"] }),
});
const data = await response.json();import requests
user_id = "550e8400-e29b-41d4-a716-446655440000"
response = requests.put(
f"https://api.reten.ai/api/user/{user_id}/roles",
headers={
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
json={"roles": ["supervisor"]},
)
data = response.json()Respuesta 200 OK
{
"message": "User roles updated successfully"
}Respuestas de Error
| Estado | Descripción |
|---|---|
400 | Error de validación — roles está vacío (At least one role is required) o contiene un valor que no es un rol |
403 | Falta el permiso — Required permissions: user:update |
403 | El usuario objetivo es el usuario actual — Cannot modify your own roles |
403 | El usuario objetivo no pertenece al tenant activo — Cannot modify roles for user outside your active tenant |
403 | El rol del usuario objetivo es igual o superior al del usuario actual — Cannot modify roles for user with equal or higher role |
403 | Un rol solicitado es igual o superior al del usuario actual — Cannot assign role <role> - you can only assign roles lower than your own |
404 | User not found |