Reten Docs
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

EncabezadoRequeridoValor
AuthorizationSíBearer <access_token>
x-tenant-idSíUUID del tenant

Parámetros de Ruta

ParámetroTipoDescripción
idUUIDID del usuario a actualizar

Cuerpo de la Solicitud

CampoTipoRequeridoDescripción
rolesstring[]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

EstadoDescripción
400Error de validación — roles está vacío (At least one role is required) o contiene un valor que no es un rol
403Falta el permiso — Required permissions: user:update
403El usuario objetivo es el usuario actual — Cannot modify your own roles
403El usuario objetivo no pertenece al tenant activo — Cannot modify roles for user outside your active tenant
403El rol del usuario objetivo es igual o superior al del usuario actual — Cannot modify roles for user with equal or higher role
403Un rol solicitado es igual o superior al del usuario actual — Cannot assign role <role> - you can only assign roles lower than your own
404User not found