Authentification
Toutes les méthodes d’authentification pour utiliser l’API Ephia Voice.
Types de clés API
Clés personnelles
- Usage : Développement et tests personnels
- Scope : Toutes les ressources de l’utilisateur
- Partage : Non recommandé (sécurité)
- Format :
epk_live_...ouepk_test_...
Clés de projet
- Usage : Production, partageable avec équipe
- Scope : Ressources du projet uniquement
- Partage : Oui, avec membres du projet
- Format :
epk_proj_... - Permissions : Configurables (lecture seule, lecture/écriture, admin)
Génération d’une clé API
Via Dashboard
- Se connecter à https://app.ephia.ai
- Aller dans
Settings > API Keys - Cliquer sur
Create new key - Choisir le type (personnelle ou projet)
- Nommer la clé (ex: “Production Backend”)
- Configurer les permissions
- Copier la clé (affichée une seule fois)
Via API
curl -X POST https://api.ephia.ai/v1/api-keys \
-H "Authorization: Bearer <YOUR_MASTER_KEY>" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Backend",
"type": "project",
"project_id": "proj_abc123",
"permissions": ["read", "write"]
}'Utilisation de la clé
HTTP
Pour les endpoints HTTP (init session, batch, etc.), envoyer la clé dans un header Authorization.
curl https://api.ephia.ai/v1/live/sessions \
-H "Authorization: Bearer epk_live_..." \
-H "x-ephia-key: epk_live_..."WebSocket
Le token API peut être passé directement dans l’URL WebSocket via le paramètre token, ou via le header Authorization: Bearer <token> lors de la connexion.
wss://api.ephia.ai/api/v1/audio/live?token=epk_live_...Rotation des clés
Processus recommandé
- Générer une nouvelle clé
- Mettre à jour l’application avec la nouvelle clé
- Tester que tout fonctionne
- Révoker l’ancienne clé
Fréquence : Tous les 90 jours (recommandé)
Révocation
Via Dashboard :
- Aller dans
Settings > API Keys - Cliquer sur
Revokeà côté de la clé - Confirmer la révocation
Via API :
curl -X DELETE https://api.ephia.ai/v1/api-keys/epk_live_... \
-H "Authorization: Bearer <YOUR_MASTER_KEY>"Bonnes pratiques
- ✅ Stocker les clés dans des variables d’environnement
- ✅ Utiliser un secret manager (AWS Secrets Manager, HashiCorp Vault)
- ✅ Ne jamais commiter les clés dans Git
- ✅ Utiliser des clés différentes pour dev/staging/prod
- ✅ Limiter les permissions au strict nécessaire
- ✅ Surveiller l’utilisation des clés (dashboard)
- ✅ Rotation régulière (tous les 90 jours)
- ✅ Générer
ws_urlcôté backend et ne jamais exposer la clé API au frontend