Felo API PlatformFelo API Platform

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

  1. Vous obtenez une clé API depuis la page Clés API de Felo API Platform
  2. Vous incluez la clé API dans l'en-tête Authorization de chaque requête API
  3. 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_KEY

Exemple 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 :

  1. Ouvrez la page Clés API de Felo API Platform
  2. Connectez-vous avec votre compte Felo si demandé
  3. Saisissez un nom de clé et cliquez sur Create Key
  4. Copiez la clé complète lorsqu'elle s'affiche. Elle n'est affichée qu'une seule fois
  5. 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_abc123xyz789

Windows (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

HTTPCodeSignification
401UNAUTHORIZEDClé manquante, invalide, expirée ou révoquée
429RATE_LIMITEDTrop 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 :

  1. Vérifiez que l'en-tête est exactement Authorization: Bearer YOUR_API_KEY.
  2. Confirmez que la clé n'a pas été révoquée sur la page Clés API.
  3. Confirmez que l'environnement utilise bien la clé attendue.
  4. 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 :

  1. Relisez attentivement ce guide
  2. Consultez le guide Démarrage
  3. Vérifiez votre clé API sur la page Clés API
  4. Contactez le support à [email protected] en indiquant votre request ID

Étapes suivantes