Authentification

Cles API, scopes, et gestion via le dashboard.

Cles API

Toute requete vers une categorie IA s'authentifie avec une cle API dans l'en-tete Authorization :

http
Authorization: Bearer emk_live_xxxxxxxxxxxxxxxxxxxx

Une cle est toujours rattachee a un environnement (ex. "development", "production"), lui-meme rattache a un projet puis a une organisation. Le prefixe distingue le type de cle :

  • emk_live_... — cle de production, appels reellement factures
  • emk_test_... — cle de test (creee avec "live": false a la creation)
La valeur brute d'une cle n'est affichee qu'une seule fois, au moment de sa creation (POST /v1/environments/{environment_id}/api-keys). Seul son hash est conserve cote serveur — si vous la perdez, revoquez-la et creez-en une nouvelle.

Scopes

A la creation, une cle peut etre restreinte a une liste de categories (scopes : chat, images, vision, audio, video, embeddings, translation, agents). Une cle sans scope explicite (scopes: [], valeur par defaut) a acces a toutes les categories — restreindre l'acces est donc toujours un choix explicite.

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

Une requete vers une categorie non autorisee par les scopes de la cle renvoie 403 insufficient_scope.

Gerer les cles

Depuis le dashboard (Cles API) ou par l'API :

bash
# Lister les cles d'un environnement
GET /v1/environments/{environment_id}/api-keys

# Revoquer une cle
DELETE /v1/api-keys/{api_key_id}

Comptes et equipes

L'authentification par cle API sert aux appels programmatiques (SDK, HTTP direct). Le dashboard lui-meme utilise une session de compte (email/mot de passe, cookies httpOnly) — les endpoints /v1/account, /v1/auth/login, /v1/orgs/{id}/invitations etc. n'acceptent pas de cle API et ne sont pas destines a un usage programmatique.