Autenticação
Duas credenciais — uma chave de API para máquinas, uma sessão para a consola — e as regras que as mantêm separadas.
Dois tipos de credencial
A API aceita uma chave de API. A consola aceita um cookie de sessão. Não são intercambiáveis, e a API impõe isso em vez de decidir, pedido a pedido, se um cookie deveria estar presente.
Um pedido autenticado com um cookie de sessão recebe 403 api_key_required, com uma mensagem que aponta para a página de chaves da consola. Isto é deliberado: sem um caminho autenticado por cookie para a API, não há nada que um pedido entre sites possa forjar.
O cabeçalho
Envie a chave como token bearer. Uma chave é um prefixo, um ponto e um segredo; o prefixo identifica a linha, por isso a revogação é imediata e custa uma consulta.
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.your-secret" \
-H "Content-Type: application/json" \
-d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}]}'
Âmbitos
Uma chave tem um ou mais âmbitos. Um pedido cuja chave não tenha o âmbito exigido por um endpoint é recusado com 403 insufficient_scope, antes de o corpo ser analisado.
| Âmbito | Desbloqueia |
|---|---|
| inference | Conclusões de chat, embeddings, e os endpoints de lista e detalhe de modelos. |
| platform_read | Ler a sua organização: perfil, chaves, utilização, traces e políticas. |
| platform_write | Criar e revogar chaves, e criar ou editar políticas. Este é o âmbito que altera quem pode fazer o quê, por isso emita-o deliberadamente. |
Os âmbitos são verificados por endpoint, não por chave. Uma chave com platform_read não pode gastar crédito através do playground.
Criar uma chave
Na consola, ou através da API da plataforma com uma chave que já tenha platform_write. O segredo é mostrado uma vez, quando é criado: só é armazenado um hash scrypt, por isso ninguém — incluindo nós — o pode ler de volta.
curl -X POST https://api.llmeu.com/platform/v1/api-keys \
-H "Authorization: Bearer llmeu_live_xxxxxxxx.a-platform-write-key" \
-H "Content-Type: application/json" \
-d '{"name":"ci","scopes":["inference"]}'
As ações administrativas na consola — políticas, equipa, definições, crédito, revogação de chaves — são apenas para owner ou admin, independentemente dos âmbitos que uma chave tenha.
Revogação, e o que uma chave não é
Uma chave pertence a uma organização, e a organização é resolvida a partir da própria chave — nunca a partir de um campo no corpo do pedido, por isso um chamador não pode dirigir-se a outro tenant apenas pedindo. A revogação entra em vigor no pedido seguinte. Rodar significa criar uma segunda chave, mover o tráfego e depois revogar a primeira; não há janela de sobreposição para configurar.
Para a consola, em vez disso
Início de sessão, recuperação de palavra-passe e verificação de endereço estão documentados com a consola. Não há OAuth, nem SAML, nem token de acesso pessoal: a consola usa um cookie de sessão, a API usa chaves.