Autenticação
Como criar a chave, onde guardar, o que cada erro 401 quer dizer e o que fazer se vazar.
Atualizado em 09 de ago. de 2026
Toda requisição precisa de uma chave de API no cabeçalho Authorization. A chave identifica a sua conta e é o que o consumo é cobrado em cima — trate como senha.
- 1
Entre no painel
Acesse platform.hinow.ai com a sua conta.
- 2
Vá em Chaves de API
Abra Chaves de API, crie uma chave e dê a ela o nome do ambiente onde vai usar —
producao,local,ci. - 3
Copie na hora
A chave começa com
hi_e só aparece uma vez. Se perder, não dá para recuperar: gere outra e apague a anterior.
Gere sua chave de API
Acesse diretamente a área de chaves. Se ainda não possui uma conta, entre primeiro pela plataforma.
curl https://api.hinow.ai/v1/chat/completions \
-H "Authorization: Bearer $HINOW_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "hinow/higenesis",
"messages": [{"role": "user", "content": "oi"}]
}'Nos SDKs compatíveis com a OpenAI, a chave vai no construtor do cliente e o cabeçalho é montado para você:
client = OpenAI(
api_key=os.environ["HINOW_API_KEY"],
base_url="https://api.hinow.ai/v1",
)const client = new OpenAI({
apiKey: process.env.HINOW_API_KEY,
baseURL: 'https://api.hinow.ai/v1',
});| Resposta | Causa | O que fazer |
|---|---|---|
AUTH_MISSING | A requisição saiu sem o cabeçalho Authorization | Verifique se a variável de ambiente chegou ao processo |
AUTH_INVALID_FORMAT | O cabeçalho veio vazio ou fora do formato | O valor é Bearer seguido da chave, com um espaço entre eles |
AUTH_TOKEN_INVALID | A chave não existe, expirou ou foi revogada | Gere uma nova no painel e substitua no ambiente |
As três voltam com status 401 e um corpo neste formato:
{
"error": {
"code": "AUTH_TOKEN_INVALID",
"message": "Invalid or expired API token",
"num_code": 1003,
"timestamp": "2026-08-08T18:16:17Z"
},
"success": false
}Uma chave por ambiente. Produção, homologação e a máquina de cada pessoa usam chaves diferentes. Quando uma vaza, você revoga só ela e nada mais para.
Sempre em variável de ambiente. Nunca no código, nunca em arquivo versionado. Acrescente o .env ao .gitignore antes do primeiro commit, não depois.
Nunca no navegador. Código que roda no cliente é visível para qualquer pessoa que abrir o inspetor. Chamadas ao HiNow saem do seu servidor, e o navegador fala com o seu servidor.
// O navegador chama a sua rota; a sua rota chama o HiNow.
// A chave nunca sai do servidor.
export async function POST(request) {
const { question } = await request.json();
const response = await fetch('https://api.hinow.ai/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
Authorization: `Bearer ${process.env.HINOW_API_KEY}`,
},
body: JSON.stringify({
model: 'hinow/hinova',
messages: [{ role: 'user', content: question }],
}),
});
if (!response.ok) {
// Não repasse o corpo do erro ao navegador: ele pode conter detalhes
// internos. Registre no seu log e devolva algo genérico.
console.error('hinow', response.status, await response.text());
return Response.json({ error: 'upstream_failed' }, { status: 502 });
}
const data = await response.json();
return Response.json({ answer: data.choices[0].message.content });
}- Revogue no painel. A revogação vale na hora e não afeta as outras chaves.
- Gere uma nova e atualize o ambiente que a usava.
- Confira o consumo do período para saber se alguém chegou a usar.
Rotacionar de tempos em tempos vale mesmo sem incidente — principalmente quando alguém sai da equipe.

