Tenants
Configurar Tenant
Crie um novo tenant com seu próprio esquema de banco de dados.
POST /api/tenant/setup
Cria um novo tenant, provisiona um esquema PostgreSQL dedicado, executa as migrações do tenant e cria um usuário administrador para o tenant.
Auth: Obrigatória — permissão tenant:create
Headers
| Header | Obrigatório | Valor |
|---|---|---|
Authorization | Sim | Bearer <access_token> |
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Sim | Nome do tenant |
slug | string | Sim | Slug amigável para URL (único) |
adminEmail | string | Sim | E-mail do administrador do tenant |
adminPassword | string | Sim | Senha do administrador do tenant |
adminFirstName | string | Sim | Primeiro nome do administrador |
adminLastName | string | Sim | Sobrenome do administrador |
Exemplo
curl -X POST https://api.reten.ai/api/tenant/setup \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corp",
"slug": "acme-corp",
"adminEmail": "admin@acme.com",
"adminPassword": "SecurePass123!",
"adminFirstName": "Acme",
"adminLastName": "Admin"
}'const response = await fetch("https://api.reten.ai/api/tenant/setup", {
method: "POST",
headers: {
"Authorization": "Bearer <token>",
"Content-Type": "application/json",
},
body: JSON.stringify({
name: "Acme Corp",
slug: "acme-corp",
adminEmail: "admin@acme.com",
adminPassword: "SecurePass123!",
adminFirstName: "Acme",
adminLastName: "Admin",
}),
});
const tenant = await response.json();import requests
response = requests.post(
"https://api.reten.ai/api/tenant/setup",
headers={"Authorization": "Bearer <token>"},
json={
"name": "Acme Corp",
"slug": "acme-corp",
"adminEmail": "admin@acme.com",
"adminPassword": "SecurePass123!",
"adminFirstName": "Acme",
"adminLastName": "Admin",
},
)
tenant = response.json()Resposta 201 Created
{
"id": "660e8400-e29b-41d4-a716-446655440000",
"name": "Acme Corp",
"slug": "acme-corp"
}O que acontece durante a configuração
- Cria o registro do tenant no esquema público
- Cria (ou vincula) o usuário administrador
- Cria o esquema PostgreSQL
tenant_{id} - Executa todas as migrações do tenant no novo esquema
- Vincula o usuário administrador ao tenant
- Popula os catálogos de activity-config do tenant a partir das constantes padrão do backend — incluindo
user_retention_status_configs(os 12 padrões de status de retenção), as configs de activity-reason e as de task-result-type.
Respostas de Erro
| Status | Descrição |
|---|---|
400 | Erro de validação |
409 | O slug já existe |