Rotacionar ou revogar uma chave API
Resposta: no painel, crie uma chave nova, faça o deploy e depois revogue a antiga. Uma chave revogada recebe 401 invalid_key no REST e em novas conexões WebSocket, e qualquer WebSocket aberto com ela é fechado com o código 4001 key_revoked. Os planos pagos aceitam até 20 chaves ativas, então a rotação sem interrupção é simples. O Free tem uma chave ativa: revogue primeiro e crie a nova depois.
Rotação sem interrupção (planos pagos)#
- Painel → Criar chave, com um nome (por exemplo
bot-2026-11). O valor completops_live_...aparece uma única vez; o PinnFeed guarda só um hash e os 12 primeiros caracteres. - Coloque a chave nova no seu gerenciador de segredos ou na variável
PINNFEED_KEYe faça o deploy. - Confira no painel que o último uso da chave antiga parou de mudar.
- Revogue a antiga. Qualquer cliente ainda nela recebe
4001(WebSocket) ou401(REST).
Tratar 4001 no código#
ws.on('close', (code, reason) => {
if (code === 4001) {
console.error('key revoked: load the new PINNFEED_KEY before reconnecting');
return; // do not reconnect in a loop with a dead key
}
scheduleReconnect();
});
Boas práticas#
- Uma chave por app ou ambiente: se vazar, você revoga só uma.
- Nunca coloque uma chave em código de navegador ou mobile; use um backend próprio.
- Prefira o cabeçalho
x-api-keya?key=: URLs vão parar nos logs.
Básico: autenticação · códigos de erro.
Planos#
Free: uma chave ativa, REST, 30 s de atraso. Planos pagos: até 20 chaves ativas. Builder (€99/mês) adiciona o WebSocket. Teste de 3 dias; o cartão é obrigatório e a cobrança ocorre após o dia 3, a menos que você cancele.
Conteúdo educativo para maiores de 18 anos.
Perguntas frequentes#
Posso ver uma chave de novo?#
Não. Só o prefixo é guardado; crie outra se perdeu.
As chaves dividem limites?#
O limite REST é aplicado por chave; os limites de conexões WebSocket contam para a conta inteira.
Posso renomear uma chave?#
Sim, pelo painel; renomear não muda o valor.