Reten Docs
Usuários

Registrar Usuário

Crie um novo usuário com atribuições de função.

POST /api/auth/register

Cria um novo usuário no tenant ativo e atribui suas funções. O usuário que faz a chamada só pode atribuir funções abaixo da sua.

Auth: Obrigatória — permissão user:create

Headers

HeaderObrigatórioValor
AuthorizationSimBearer <access_token>
x-tenant-idSimUUID do tenant

Corpo da Requisição

CampoTipoObrigatórioDescrição
firstNamestringSimPrimeiro nome (máximo de 255 caracteres)
lastNamestringSimSobrenome (máximo de 255 caracteres)
usernamestringSimNome de usuário, único (máximo de 100 caracteres); pode ser usado para fazer login
emailstringSimE-mail, único
passwordstringSimSenha (de 8 a 100 caracteres)
rolesstring[]SimValores das funções a atribuir, pelo menos um: admin, fde, supervisor, operator, viewer (veja Funções e Permissões)

Exemplo

curl -X POST https://api.reten.ai/api/auth/register \
  -H "Authorization: Bearer <token>" \
  -H "x-tenant-id: <tenant-id>" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@example.com",
    "password": "SecurePass123!",
    "firstName": "Jane",
    "lastName": "Doe",
    "username": "jdoe",
    "roles": ["fde"]
  }'
const response = await fetch("https://api.reten.ai/api/auth/register", {
  method: "POST",
  headers: {
    "Authorization": "Bearer <token>",
    "x-tenant-id": "<tenant-id>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    email: "newuser@example.com",
    password: "SecurePass123!",
    firstName: "Jane",
    lastName: "Doe",
    username: "jdoe",
    roles: ["fde"],
  }),
});
const user = await response.json();
import requests

response = requests.post(
    "https://api.reten.ai/api/auth/register",
    headers={
        "Authorization": "Bearer <token>",
        "x-tenant-id": "<tenant-id>",
    },
    json={
        "email": "newuser@example.com",
        "password": "SecurePass123!",
        "firstName": "Jane",
        "lastName": "Doe",
        "username": "jdoe",
        "roles": ["fde"],
    },
)
user = response.json()

Resposta 201 Created

{
  "id": "770e8400-e29b-41d4-a716-446655440000",
  "firstName": "Jane",
  "lastName": "Doe",
  "username": "jdoe",
  "email": "newuser@example.com",
  "roles": ["fde"],
  "isActive": true,
  "createdAt": "2026-09-28T14:30:00.000Z"
}

Respostas de Erro

StatusDescrição
400Erro de validação — um campo está ausente ou é inválido, é enviado um campo desconhecido, ou roles contém um valor que não é uma função
400roles está vazio — At least one role is required
403Falta a permissão — Required permissions: user:create
403Uma função solicitada é igual ou superior à do usuário atual — Cannot assign role <role> - you can only assign roles lower than your own
409Email already in use
409Username already in use