Organizações (área de superadmin)
Painel para operadores da plataforma Adalink — onde os tenants são criados, configurados e gerenciados.
Esta página só é visível para usuários com papel SUPERADMIN da plataforma Adalink. Se você é admin de uma única organização, veja Pessoas e times — a área que cobre o seu dia a dia.
Cada cliente que usa a Adalink é uma "organização" (tenant) isolada — com seus próprios usuários, agentes, conhecimentos e branding. Esta tela é onde os operadores da plataforma criam novas orgs, ajustam plano, ativam private label e provisionam infraestrutura.

Wizard de 3 passos para criar uma org
Passo 1 — Dados básicos
Nome da organização, slug (gerado automaticamente, define a URL: slug.adalink.ai), subdomínio, plano (Free, Starter, Pro, Enterprise) e data de expiração. Ative Private label se o cliente vai operar com a marca dele em vez da Adalink.

Passo 2 — Personalização
Cor primária, cor secundária, logo do sidebar, logo de splash, tagline. O preview do tema aparece à direita em tempo real. Tudo é opcional — se deixar em branco, o tenant herda o tema padrão Adalink (ou fica em branco se for private label).

Passo 3 — Convites iniciais
Adicione até 50 e-mails que vão receber convite assim que a org for criada. Útil quando você já sabe quem vão ser os primeiros admins. Pode pular esse passo se quiser convidar depois pela tela de Pessoas.

Private label — o que muda na prática
Quando ativado, esconde a marca Adalink em toda a UI do tenant: logos, cores e tagline são substituídas pelas do cliente. O cliente final não percebe que a plataforma é Adalink — parece um app dele. Útil para revendedores e empresas que querem oferecer a IA como produto próprio.
Domínio próprio (opcional)
Tenants em private label podem usar domínio próprio (ex: ia.cliente.com.br) em vez do subdomínio padrão. O processo gera um token DNS, o cliente cria um registro TXT, e o sistema válida automaticamente.
Status de uma organização
- Ativa — operação normal.
- Trial — período de teste; expira na data definida.
- Suspensa — acesso bloqueado temporariamente (ex: inadimplência).
- Cancelada — encerrada; dados ficam preservados conforme política de retenção.
Provisionar Tenant
No menu lateral existe a entrada Provisionar Tenant — fluxo separado para criar orgs com infraestrutura dedicada (tier Enterprise). Diferente do wizard normal, esse aciona o provisionamento de banco e serviços isolados, com verificação DNS por SSE em tempo real.
A administração de tenants usa /v1/admin/organizations/*. Todos esses endpoints exigem token com papel SUPERADMIN — qualquer outra role recebe 403. As ações de domínio customizado disparam um fluxo SSE de verificação DNS.
CRUD de organizações
plan aceita free, starter, pro, enterprise. Para atualizar use PATCH /v1/admin/organizations/{id} com qualquer subset de campos (status, plan, branding, isPrivateLabel, subdomain).
# Listar tenants
curl "https://api.adalink.ai/v1/admin/organizations?status=active&plan=pro&page=1&limit=20" \
-H "Authorization: Bearer SUPERADMIN_TOKEN"
# Criar tenant
curl -X POST https://api.adalink.ai/v1/admin/organizations \
-H "Authorization: Bearer SUPERADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Cliente XYZ",
"plan": "pro",
"expiresAt": "2027-05-06",
"isPrivateLabel": true,
"branding": {
"primaryColor": "#7c3aed",
"logoSidebarUrl": "https://...",
"tagline": "IA do Cliente XYZ"
},
"initialInvites": [
{ "email": "admin@cliente.com", "role": "ADMIN" }
]
}'Domínio customizado
O fluxo é: token → cliente cria TXT → verificação. Após validar, o domínio entra na lista de hosts atendidos pelo gateway. Para remover: DELETE /v1/admin/organizations/{id}/domain com o domínio no body.
# 1) Pedir o token DNS
curl -X POST https://api.adalink.ai/v1/admin/organizations/ORG_ID/domain/verify-token \
-H "Authorization: Bearer SUPERADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "domain": "ia.cliente.com.br" }'
# Resposta: { dnsRecord: { type: "TXT", name: "_adalink-verify", value: "TOKEN..." } }
# 2) Cliente cria o registro TXT no provedor de DNS dele
# 3) Validar
curl -X POST https://api.adalink.ai/v1/admin/organizations/ORG_ID/domain/verify \
-H "Authorization: Bearer SUPERADMIN_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "domain": "ia.cliente.com.br", "dnsRecord": "TOKEN..." }'Branding (presigned upload)
POST /v1/admin/organizations/branding/presign retorna URL assinada para upload direto no R2 dos arquivos de branding (logos, splash). Use o publicUrl retornado nos campos branding.logoSidebarUrl e branding.logoSplashUrl ao criar/editar a organização.
Para tier Enterprise (infra dedicada) o caminho é /admin/provision no front, que aciona um SSE de provisionamento de banco e serviços isolados — fluxo diferente do wizard padrão.