Skip to main content
A API tem duas capacidades e duas credenciais, e a diferença não é acidente: cada uma autoriza uma coisa diferente e por isso é protegida de um jeito diferente.

Chave de API

Autentica as rotas de consulta. Ela gasta dinheiro, então precisa ser revogável, ter escopo e ter teto.
O cabeçalho X-API-Key também é aceito, com o mesmo valor. A chave começa com sk_live_ e aparece uma única vez, na criação. Onde gerá-la está em credenciais.
Nunca em query string. Query aparece em log de servidor, no referer e no histórico do navegador. Pelo mesmo motivo, as rotas de consulta não respondem a preflight: elas são de servidor para servidor, e uma página que carregasse a chave a entregaria a quem abrisse o site.

Token de webhook

Autentica a entrada de contatos, e vai no caminho da URL em vez de num cabeçalho.
Ele só cria contato. Não lê, não lista e não altera o que já existe, e é por isso que pode viver no action de um formulário HTML sem consequência séria.

O que cada erro de autenticação quer dizer

A mensagem de chave inexistente é a mesma para “nunca existiu” e para “já existiu”: distinguir as duas entregaria informação a quem tenta adivinhar.