Autenticación
Claves API, scopes y gestión desde el panel.
Claves API
Toda solicitud a una categoría de IA se autentica con una clave API en la cabecera Authorization:
Authorization: Bearer emk_live_xxxxxxxxxxxxxxxxxxxxUna clave siempre está vinculada a un entorno (p. ej. "development", "production"), a su vez vinculado a un proyecto y luego a una organización. El prefijo distingue el tipo de clave:
emk_live_...— clave de producción, llamadas realmente facturadasemk_test_...— clave de prueba, creada automáticamente para cualquier entorno distinto de "production"
POST /v1/environments/{environment_id}/api-keys). Solo se conserva su hash en el servidor — si la pierdes, revócala y crea una nueva.Scopes
Al crearla, una clave puede restringirse a una lista de categorías (scopes: chat, images, vision, audio, video, embeddings, translation, agents). Una clave sin scope explícito (scopes: [], valor por defecto) tiene acceso a todas las categorías — restringir el acceso es siempre una elección explícita.
curl -X POST https://api.ileai.io/v1/environments/{environment_id}/api-keys \
-H "Authorization: Bearer <jeton de session>" \
-H "Content-Type: application/json" \
-d '{
"name": "Cle chat uniquement",
"scopes": ["chat"]
}'Una solicitud a una categoría no autorizada por los scopes de la clave devuelve 403 insufficient_scope.
Gestionar las claves
Desde el panel (Claves API) o mediante la API:
# Lister les cles d'un environnement
GET /v1/environments/{environment_id}/api-keys
# Revoquer une cle
DELETE /v1/api-keys/{api_key_id}Cuentas y equipos
La autenticación por clave API se usa para llamadas programáticas (SDK, HTTP directo). El propio panel usa una sesión de cuenta (email/contraseña, cookies httpOnly) — los endpoints /v1/account, /v1/auth/login, /v1/orgs/{id}/invitations, etc. no aceptan una clave API y no están pensados para uso programático.