Fundamentos
Autenticação
Dois tokens, um header. Compatível com Ryze e clientes que já usam `apikey` ou Bearer.
Headers aceitos
`token: <TokenAccount|TokenInstance>` — preferido (Ryze).
`apikey: <token>` — alias comum em SDKs.
`Authorization: Bearer <token>` — também funciona (painel e integrações).
TokenAccount
Operações de conta: `POST /api/instance/new`, `GET /api/instance/list`, delete de instância.
Também autoriza operações de uma instância da mesma conta (a Wagzap resolve pelo nome no path).
TokenInstance
Mensagens, grupos, comunidades, canais, perfil, chat, webhooks e WebSocket.
O path `{instance}` precisa bater com o nome (ou UUID) da instância dona do token. Caso contrário: 403.
Painel humano
O painel em wagzap.com.br usa JWT. Superadmin entra com senha + TOTP; tenant recebe OTP no e-mail.
O playground do admin e a aba Testar da instância usam esse JWT e disparam o mesmo código de envio da API pública — sem expor TokenInstance no browser.