PopNowDocs da API
Construindo com a API
Conteúdo principal

Autenticação

O formato das chaves, onde guardá-las, restrições por chave, rotação e o que fazer se uma chave vazar.

Toda requisição à API leva uma chave de API no cabeçalho Authorization:

Authorization: Bearer sk-popnow-3f9c0a…

Não há outra forma de autenticar: chaves na query string da URL nunca são aceitas, e o seu login no popnow.ai não vale na API.

Uma exceção: as rotas compatíveis com OpenAI em /v1 também leem a chave do cabeçalho x-api-key, então clientes no estilo OpenAI funcionam sem mudanças. As rotas nativas /api/v1 leem apenas Authorization.

Como é uma chave

Uma chave é sk-popnow- seguido de 48 caracteres hexadecimais minúsculos. Depois de criada, o console da API só mostra os primeiros caracteres, então uma chave perdida não pode ser recuperada — basta criar outra.

Crie uma chave

  1. Entre em popnow.ai e abra o console da API.
  2. Escolha Create key e dê um nome que diga onde ela vai ficar, como production-backend.
  3. Copie na hora. Ela só aparece uma vez.

Você pode ter várias chaves ao mesmo tempo. Uma por ambiente ou por serviço é um bom hábito, porque dá para revogar uma sem mexer nas outras. Todas gastam do mesmo saldo de créditos.

Onde guardar

  • Numa variável de ambiente ou no cofre de segredos da sua plataforma (POPNOW_API_KEY), não no código-fonte.
  • Nunca num navegador, num app de celular ou em qualquer código que rode no aparelho de outra pessoa. Quem consegue ler a chave consegue gastar seus créditos. Coloque o seu próprio servidor no meio e deixe que ele chame a PopNow.
  • Nem nos logs. Se você registra os cabeçalhos das requisições, remova Authorization antes.

Limite o que uma chave pode fazer

Cada chave pode ter os próprios limites, configurados no console da API:

RestriçãoO que fazErro quando bloqueia
Modelos permitidosA chave só chama os modelos da lista40301
Lista de IPs permitidosAs requisições precisam vir desses endereços ou faixas40302
Limites de gastoLimite diário, mensal e total da chave, em créditos40202

Por padrão, a chave não tem restrições nem limites. Dê às chaves de produção o menor escopo que ainda funcione.

As tarefas pertencem à chave que as criou

recordInfo, retry, purge, a lista de tarefas e o uso só enxergam tarefas criadas com a mesma chave. Uma tarefa criada com outra chave da sua conta responde 404, igual a uma tarefa que não existe. As gerações que você inicia no site também não aparecem para nenhuma chave. Para ver a conta inteira, use o console da API.

Rotação

Para trocar uma chave sem parar o serviço:

  1. Crie a chave nova.
  2. Faça o deploy dela em todos os lugares que usavam a antiga.
  3. Confira no console que o último uso da chave antiga parou de mudar.
  4. Revogue a chave antiga.

Se uma chave vazar

  1. Revogue agora no console da API. Vale a partir da próxima requisição.
  2. Crie uma substituta e faça o deploy.
  3. Veja para que ela foi usada: os logs e o uso no console mostram cada tarefa criada por ela.
  4. Restrinja a substituta com lista de IPs e limite de gasto.

Se aparecer algum gasto que não foi seu, fale com o suporte.

Como é uma falha

Os três problemas de autenticação retornam HTTP 401 com code: 401; quem diferencia é o msg:

msg dizO que aconteceuO que fazer
Credenciais ausentesNenhum cabeçalho Authorization chegouConfira se o cabeçalho está definido e se o processo em execução carregou a variável de ambiente
Formato de chave não reconhecidoChegou algo, mas não é uma chave PopNowVerifique se começa com sk-popnow-; talvez você tenha colado outra coisa
Credenciais inválidas ou expiradasA chave não existe, foi revogada ou expirouCrie uma chave nova; tentar de novo nunca vai funcionar

Uma chave válida também pode receber 403 — por exemplo, se o e-mail da conta ainda não foi verificado (40310). Veja Erros.

Nesta página