Diska
API

Autenticação

Chaves API para integrações e sessões Better Auth para o backoffice.

A Diska tem dois mecanismos de autenticação, para dois usos diferentes:

UsoMecanismoSuperfície
Integrações (o seu código a falar com a Diska)Chave API dsk_…Canal API — https://api.diska.ai/v1
Backoffice (pessoas a usar app.diska.ai)Sessão Better Auth (JWT)API interna — /api/v1
Se está a construir uma integração, use chaves API e o Canal API. Os tokens de sessão do backoffice pertencem ao produto: o seu formato e os endpoints internos que autenticam podem mudar sem aviso.

Chaves API (Canal API)

As chaves API são geridas em Definições → Chaves API e autenticam o Canal API — a superfície REST pública em https://api.diska.ai/v1. Cada chave tem nome, descrição opcional, pré-visualização mascarada, âmbitos opcionais (sem âmbitos = acesso total), expiração opcional, data de criação e último uso, e pode ser revogada a qualquer momento.

A chave é enviada num destes cabeçalhos:

Authorization: Bearer dsk_…
X-API-Key: dsk_…

Uma chave actua apenas sobre os dados da própria organização — leituras (agentes, chamadas, análises, números, conhecimento) e as escritas que os seus âmbitos permitirem (criar/publicar agentes, ingestão de conhecimento, gestão de webhooks); não é aceite em nenhum endpoint interno de /api/v1. Consulte Chaves API para a gestão e Canal API para os endpoints.

Sessões do backoffice (Better Auth)

O início de sessão em app.diska.ai é feito pelo serviço de identidade da Diska, construído sobre Better Auth. Depois do login, o backoffice envia em cada pedido à API interna um JWT de curta duração, assinado assimetricamente e verificado pela API via JWKS — nenhum segredo partilhado sai do serviço de identidade:

Authorization: Bearer <jwt>
X-Organization-Id: <organization_id>

Selecção de organização

Um utilizador pode pertencer a várias organizações. A organização activa é determinada pelo cabeçalho X-Organization-Id; o backoffice lista as organizações do utilizador e regista a troca:

GET /api/v1/organizations
POST /api/v1/organizations/switch
{
  "organization_id": "<id>"
}

Papéis na organização

O acesso dentro de uma organização é definido pelo papel do membro:

PapelResumo
ownerControlo total, incluindo eliminar a organização.
adminDefinições da organização, membros, chaves API, arquivo e eliminações.
editorCria, edita e publica agentes, fluxos, conhecimento e acções.
viewerConsulta (agentes, históricos, análises) e testes, sem alterações.

As verificações de permissão são feitas no servidor a partir do papel; os identificadores internos de permissões não fazem parte do contrato público.

Erros de autenticação

CódigoSignificado
401Credencial ausente, inválida, expirada ou revogada.
403Sem permissão (papel ou âmbito insuficiente) ou organização suspensa.
404Recurso inexistente ou de outra organização.
Copyright © 2026