Autenticação
Funções Atribuíveis
Obter as funções que o usuário atual pode atribuir a outros usuários.
GET /api/auth/assignable-roles
Retorna as funções que o usuário atual pode atribuir a outros usuários, com base na hierarquia de funções. Um usuário só pode atribuir funções estritamente abaixo da sua função mais alta.
Auth: Necessária — qualquer usuário autenticado, com o header x-tenant-id de um de seus tenants
Headers
| Header | Obrigatório | Valor |
|---|---|---|
Authorization | Sim | Bearer <access_token> |
x-tenant-id | Sim | UUID do tenant |
Exemplo
curl https://api.reten.ai/api/auth/assignable-roles \
-H "Authorization: Bearer <token>" \
-H "x-tenant-id: <tenant-id>"const response = await fetch("https://api.reten.ai/api/auth/assignable-roles", {
headers: {
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
});
const data = await response.json();import requests
response = requests.get(
"https://api.reten.ai/api/auth/assignable-roles",
headers={
"Authorization": "Bearer <token>",
"x-tenant-id": "<tenant-id>",
},
)
data = response.json()Resposta 200 OK
Resposta para um supervisor (nível 3):
{
"assignableRoles": [
{
"id": "aa0e8400-e29b-41d4-a716-446655440000",
"name": "operator",
"description": "Field operator with scoped access to assigned activities",
"permissions": [
"project:view",
"activity:view",
"commerce-lifecycle-snapshot:view",
"commerce:manage",
"activity-result:submit",
"activity-result:edit"
],
"level": 2
},
{
"id": "bb0e8400-e29b-41d4-a716-446655440000",
"name": "viewer",
"description": "Read-only access to tenant data",
"permissions": [
"project:view",
"user:view",
"activity:view",
"commerce-lifecycle-snapshot:view"
],
"level": 1
}
],
"currentUserLevel": 3
}| Campo | Tipo | Descrição |
|---|---|---|
assignableRoles | array | Funções abaixo da função mais alta do usuário atual, ordenadas por level da maior para a menor |
assignableRoles[].name | string | Valor da função — a mesma string enviada em roles ao registrar um usuário ou atualizar suas funções |
assignableRoles[].description | string | null | Descrição da função, em inglês |
assignableRoles[].permissions | string[] | Permissões da função (veja Funções e Permissões); a ordem não é garantida |
assignableRoles[].level | number | Nível da função na hierarquia |
currentUserLevel | number | Nível da função mais alta do usuário atual |
Notas
- Hierarquia de funções:
super_admin(6) >admin(5) >fde(4) >supervisor(3) >operator(2) >viewer(1). Um nível mais alto significa mais privilégio. - A função
super_adminnunca é retornada: nenhuma função está acima dela.
Respostas de Erro
| Status | Descrição |
|---|---|
400 | Header x-tenant-id ausente — Missing required header: x-tenant-id |
401 | Token de acesso ausente ou inválido |
403 | O usuário não pertence ao tenant — User does not have access to the requested tenant |