Authentification
Authentifiez les requêtes API avec des jetons Bearer à l’aide de votre clé API.
Toutes les requêtes API nécessitent une authentification par jeton Bearer. Générez une clé API depuis votre tableau de bord et incluez-la dans l’en-tête Authorization.
Remarque : l’accès à l’API nécessite un forfait Hobby ou supérieur, avec une facturation active.
Générer une clé API
- Accédez au tableau de bord de votre espace de travail.
- Cliquez sur Clés API dans la barre latérale.
- Cliquez sur Créer une clé API.
- Copiez la clé générée.
Utiliser votre clé API
Incluez la clé dans l’en-tête Authorization :
curl -X POST 'https://your-domain.com/api/v1/chat' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"chatbotId": "uuid", "messages": [{"role": "user", "content": "Hello"}]}'
Format de l’en-tête
Authorization: Bearer YOUR_API_KEY
Tester votre clé
Vérifiez que votre clé API fonctionne à l’aide du point de terminaison d’authentification :
curl 'https://your-domain.com/api/v1/auth' \ -H 'Authorization: Bearer YOUR_API_KEY'
Réponse de succès (200) :
{
"id": "account-uuid",
"name": "Your Workspace",
"email": "[email protected]"
}
Clé invalide (401) :
{
"message": "Missing or invalid Authorization header"
}
Sécurité de la clé API
Bonnes pratiques
- N’exposez jamais les clés dans du code côté client : les clés API doivent être utilisées uniquement côté serveur
- Utilisez des variables d’environnement : ne codez pas les clés en dur dans votre code
- Renouvelez vos clés régulièrement : supprimez les anciennes clés et créez-en de nouvelles
- Utilisez des noms explicites : sachez quelle clé est utilisée à quel endroit
Format des clés
Les clés sont composées de 32 octets aléatoires encodés en base64url.
Gérer les clés API
Consulter toutes les clés
Consultez toutes les clés dans Espace de travail > Clés API.
Supprimer des clés
Supprimez les clés dont vous n’avez plus besoin :
- Accédez à Clés API
- Repérez la clé
- Cliquez sur Supprimer
- Confirmez la suppression
Les clés supprimées cessent de fonctionner immédiatement.
Réponses d’erreur
| Statut | Message | Cause |
|---|---|---|
| 401 | Missing or invalid Authorization header | En-tête non fourni |
| 401 | Invalid API key | Clé incorrecte |
| 403 | API access requires a Hobby plan or above with active billing | Le forfait ou le statut de facturation ne permet pas l’accès à l’API |
| 403 | Chatbot does not belong to this account | L’ID de l’agent n’appartient pas au compte de la clé API |
Configuration de l’environnement
Node.js
const API_KEY = process.env.AGENTKIT_API_KEY;
const response = await fetch('https://your-domain.com/api/v1/chat', {
method: 'POST',
headers: {
'Authorization': `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
chatbotId: 'your-chatbot-id',
messages: [{ role: 'user', content: 'Hello' }],
}),
});
Python
import os
import requests
API_KEY = os.environ.get('AGENTKIT_API_KEY')
response = requests.post(
'https://your-domain.com/api/v1/chat',
headers={
'Authorization': f'Bearer {API_KEY}',
'Content-Type': 'application/json',
},
json={
'chatbotId': 'your-chatbot-id',
'messages': [{'role': 'user', 'content': 'Hello'}],
},
)
cURL
export AGENTKIT_API_KEY="your-api-key"
curl -X POST 'https://your-domain.com/api/v1/chat' \
-H "Authorization: Bearer $AGENTKIT_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"chatbotId": "uuid", "messages": [{"role": "user", "content": "Hello"}]}'