Démarrage
Authentification
Authentifiez vos requêtes avec des clés API, suivez les bonnes pratiques de sécurité et gérez les erreurs d'authentification.
Toutes les requêtes aux API de Felo API Platform nécessitent une authentification par clé API. Ce guide explique comment authentifier vos requêtes et gérer les problèmes d'authentification courants.
Authentification par clé API
Felo utilise l'authentification par clé API pour tous les endpoints v2. Votre clé API identifie votre application et donne accès aux capacités de la plateforme.
Comment ça fonctionne
- Vous obtenez une clé API depuis la page Clés API de Felo API Platform
- Vous incluez la clé API dans l'en-tête
Authorizationde chaque requête API - La plateforme valide votre clé API et traite votre requête
Format de l'en-tête
Incluez votre clé API dans l'en-tête Authorization avec le schéma d'authentification Bearer :
Authorization: Bearer YOUR_API_KEYExemple de requête
curl -X POST https://openapi.felo.ai/v2/chat \
-H "Authorization: Bearer sk_live_abc123xyz789" \
-H "Content-Type: application/json" \
-d '{"query": "What is machine learning?"}'Obtenir votre clé API
Pour obtenir votre clé API :
- Ouvrez la page Clés API de Felo API Platform
- Connectez-vous avec votre compte Felo si demandé
- Saisissez un nom de clé et cliquez sur Create Key
- Copiez la clé complète lorsqu'elle s'affiche. Elle n'est affichée qu'une seule fois
- Conservez la clé en lieu sûr et utilisez-la comme
FELO_API_KEY
Bonnes pratiques de sécurité
1. Stockez les clés API en lieu sûr
Ne faites pas : coder en dur les clés API dans votre code source :
# ❌ Bad - API Key exposed in code
api_key = "sk_live_abc123xyz789"Faites : utilisez des variables d'environnement ou une configuration sécurisée :
# ✅ Good - API Key from environment
import os
api_key = os.environ.get('FELO_API_KEY')2. Utilisez des variables d'environnement
Stockez votre clé API dans des variables d'environnement :
Linux/macOS :
export FELO_API_KEY="sk_live_abc123xyz789"Windows (Command Prompt) :
set FELO_API_KEY=sk_live_abc123xyz789Windows (PowerShell) :
$env:FELO_API_KEY="sk_live_abc123xyz789"3. Faites tourner les clés régulièrement
Générez périodiquement de nouvelles clés API et révoquez les anciennes pour réduire les risques de sécurité.
4. Utilisez des clés différentes selon l'environnement
Créez des clés API distinctes pour les environnements de développement, de préproduction et de production.
5. N'exposez jamais les clés dans du code côté client
Les clés API ne doivent être utilisées que dans du code côté serveur. Ne les incluez jamais dans :
- Du code JavaScript frontend
- Le code source d'une application mobile
- Des dépôts publics
- Des fichiers de configuration côté client
Erreurs d'authentification
Pour l'enveloppe d'erreur complète, les en-têtes de limite de débit et la politique de nouvelle tentative, consultez Erreurs, limites et nouvelles tentatives.
Codes d'erreur courants
| HTTP | Code | Signification |
|---|---|---|
| 401 | UNAUTHORIZED | Clé manquante, invalide, expirée ou révoquée |
| 429 | RATE_LIMITED | Trop de requêtes ; consultez le guide Erreurs, limites et nouvelles tentatives |
Une requête rejetée renvoie le statut de la clé dans message :
{
"status": 401,
"code": "UNAUTHORIZED",
"message": "API Key is required",
"request_id": "..."
}status est le code de statut HTTP. Une clé révoquée indique API Key has been revoked (keyPrefix=...). Basez votre logique sur le statut HTTP et le code, pas sur le libellé exact de message.
Dépannage
Si l'authentification échoue :
- Vérifiez que l'en-tête est exactement
Authorization: Bearer YOUR_API_KEY. - Confirmez que la clé n'a pas été révoquée sur la page Clés API.
- Confirmez que l'environnement utilise bien la clé attendue.
- Générez une nouvelle clé si l'ancienne a été supprimée ou renouvelée. Une clé complète n'est affichée qu'une seule fois, à sa création.
Pour une liste de vérification par symptôme couvrant l'authentification et le reste de la plateforme, consultez Dépannage.
Exemple : déboguer l'authentification
import requests
url = "https://openapi.felo.ai/v2/chat"
api_key = "YOUR_API_KEY"
# Correct format
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.post(url, headers=headers, json={"query": "test"})
if response.status_code == 401:
error = response.json()
print(f"Authentication failed: {error['code']}")
print(f"Message: {error['message']}")
print(f"Request ID: {error['request_id']}")
else:
print("Authentication successful!")Limitation de débit
Les limites de débit sont appliquées par endpoint, et non globalement par clé API. Actuellement, seul `/v2/chat` les applique ; les utilisateurs disposant d'un abonnement Felo payant effectif en sont exemptés. Les autres endpoints /v2/** n'ont aucune limite de débit appliquée.
Une réponse 429 inclut les en-têtes X-RateLimit-* et Retry-After. Lisez toujours les limites effectives dans les en-têtes de réponse, pas dans la documentation.
Pour le détail des dimensions de limitation de débit, des en-têtes et de la politique de nouvelle tentative, consultez Erreurs, limites et nouvelles tentatives.
Besoin d'aide ?
Si vous rencontrez des problèmes d'authentification :
- Relisez attentivement ce guide
- Consultez le guide Démarrage
- Vérifiez votre clé API sur la page Clés API
- Contactez le support à [email protected] en indiquant votre request ID
Étapes suivantes
- Guide de démarrage : apprenez à effectuer votre premier appel API
- Référence du Chat API : explorez la documentation du Chat API