Skip to main content
A API pública autentica por instância: cada instância tem um id e um token, e os dois vão na URL. Por padrão nenhum header é necessário.
Os dois valores estão no painel, na aba Dados da instância › Credenciais, e também em GET /me. A Account API (/account/*), que cria e administra instâncias, não usa o token da instância: ela autentica só por API key em Authorization: Bearer wbx_key_….

Camadas

A ordem de verificação em cada requisição é: rate limit → token da instância → API key (se exigida) → IP → assinatura ativa (402 só em endpoints de envio).

Boas práticas

  • Trate o token como senha. Guarde em variáveis de ambiente ou cofre de segredos, nunca em código versionado, front-end ou logs de acesso. A URL inteira costuma ir para logs de proxies e CDNs, então mascare-a.
  • Não dá para ter um token por integração, só um por instância. Se vários sistemas usam a mesma instância e um deles vazar, gere um novo token e atualize todos. As API keys são por integração. Crie uma para cada sistema e revogue só a que vazou.
  • Exija API key nas rotas de instância se a URL da API puder aparecer em lugares que você não controla (planilhas, ferramentas no-code compartilhadas).
  • Dê a cada key só as permissões que ela usa. Uma key que só opera instâncias não precisa de instances:write.
  • Use a allowlist quando os envios saem de IPs fixos (servidores próprios, NAT gateway).

Erros de autenticação

Vindo da z-api? Nas rotas de instância a API key também é aceita no header Client-Token, e os Client-Tokens antigos do Wabox continuam valendo nele. Veja Alias Client-Token.