Autenticación

Dos credenciales — una clave de API para máquinas, una sesión para la consola — y las reglas que las mantienen separadas.

Dos tipos de credencial

La API acepta una clave de API. La consola acepta una cookie de sesión. No son intercambiables, y la API lo aplica en lugar de decidir solicitud por solicitud si una cookie debía estar ahí.

Un navegador con sesión iniciada no puede llamar a la API

Una solicitud autenticada con una cookie de sesión recibe 403 api_key_required, con un mensaje que apunta a la página de claves de la consola. Esto es deliberado: al no haber ninguna ruta autenticada por cookie hacia la API, no hay nada que una solicitud entre sitios pueda falsificar.

La cabecera

Envía la clave como token de portador. Una clave es un prefijo, un punto y un secreto; el prefijo identifica la fila, así que la revocación es inmediata y cuesta una 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

Una clave lleva uno o más ámbitos. Una solicitud cuya clave carece del ámbito que requiere un endpoint se rechaza con 403 insufficient_scope, antes de que se analice el cuerpo.

Ámbito Desbloquea
inference Completaciones de chat, embeddings y los endpoints de lista y detalle de modelos.
platform_read Leer tu organización: perfil, claves, uso, trazas y políticas.
platform_write Crear y revocar claves, y crear o editar políticas. Este es el ámbito que cambia quién puede hacer qué, así que emítelo con cuidado.

Los ámbitos se comprueban por endpoint, no por clave. Una clave con platform_read no puede gastar crédito a través del playground.

Crear una clave

En la consola, o a través de la API de plataforma con una clave que ya tenga platform_write. El secreto se muestra una vez, al crearlo: solo se almacena un hash scrypt, así que nadie —incluidos nosotros— puede volver a leerlo.

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"]}'

Las acciones administrativas en la consola —políticas, equipo, ajustes, crédito, revocar claves— son solo para propietarios o administradores, independientemente de los ámbitos que lleve una clave.

Revocación, y lo que una clave no es

Una clave pertenece a una organización, y la organización se resuelve a partir de la propia clave —nunca desde un campo del cuerpo de la solicitud, así que quien llama no puede dirigirse a otro inquilino pidiéndolo amablemente. La revocación surte efecto en la siguiente solicitud. Rotar significa crear una segunda clave, mover el tráfico y luego revocar la primera; no hay ninguna ventana de solapamiento que configurar.

En su lugar, para la consola

El inicio de sesión, la recuperación de contraseña y la verificación de dirección se documentan con la consola. No hay OAuth, ni SAML, ni token de acceso personal: la consola usa una cookie de sesión, la API usa claves.