Autenticação
Usuário Atual
Obter as informações do usuário atualmente autenticado.
GET /api/auth/me
Retorna informações sobre o usuário autenticado atualmente.
Auth: Necessária — qualquer usuário autenticado; não é necessário o header x-tenant-id
Headers
| Header | Obrigatório | Valor |
|---|---|---|
Authorization | Sim | Bearer <access_token> |
Exemplo
curl https://api.reten.ai/api/auth/me \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."const response = await fetch("https://api.reten.ai/api/auth/me", {
headers: { "Authorization": "Bearer <token>" },
});
const data = await response.json();import requests
response = requests.get(
"https://api.reten.ai/api/auth/me",
headers={"Authorization": "Bearer eyJhbGciOiJIUzI1NiIs..."},
)
data = response.json()Resposta 200 OK
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"username": "jdoe",
"roles": ["viewer"],
"permissions": [
"project:view",
"user:view",
"activity:view",
"commerce-lifecycle-snapshot:view"
],
"tenantIds": ["660e8400-e29b-41d4-a716-446655440000"],
"activeTenantId": ""
}| Campo | Tipo | Descrição |
|---|---|---|
id | UUID | ID do usuário |
username | string | Nome de usuário |
roles | string[] | Valores das funções do usuário (veja Funções e Permissões) |
permissions | string[] | Permissões concedidas por todas as funções do usuário; a ordem não é garantida |
tenantIds | string[] | Tenants aos quais o usuário pertence |
activeTenantId | string | Sempre "" com um token de acesso: este endpoint não lê x-tenant-id |
roles, permissions e tenantIds vêm do token de acesso, então refletem o usuário no momento do último login ou da última renovação. A resposta não tem email, firstName nem lastName; esses campos vêm na resposta do login.
Com uma API key, a resposta descreve a key: roles é [], permissions contém as permissões efetivas da key, tenantIds e activeTenantId contêm o tenant da key, e aparecem mais dois campos — isApiKey: true e apiKeyId.
Respostas de Erro
| Status | Descrição |
|---|---|
401 | Token de acesso inválido ou expirado |