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

HeaderObrigatórioValor
AuthorizationSimBearer <access_token>
x-tenant-idSimUUID 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
}
CampoTipoDescrição
assignableRolesarrayFunções abaixo da função mais alta do usuário atual, ordenadas por level da maior para a menor
assignableRoles[].namestringValor da função — a mesma string enviada em roles ao registrar um usuário ou atualizar suas funções
assignableRoles[].descriptionstring | nullDescrição da função, em inglês
assignableRoles[].permissionsstring[]Permissões da função (veja Funções e Permissões); a ordem não é garantida
assignableRoles[].levelnumberNível da função na hierarquia
currentUserLevelnumberNí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_admin nunca é retornada: nenhuma função está acima dela.

Respostas de Erro

StatusDescrição
400Header x-tenant-id ausente — Missing required header: x-tenant-id
401Token de acesso ausente ou inválido
403O usuário não pertence ao tenant — User does not have access to the requested tenant