Gestion des clés API
Guide complet pour créer et gérer vos clés API.
Aperçu​
Les clés API sont le principal moyen de s'authentifier auprès des API YODI. Chaque clé est :
- Unique - Vous seul avez accès à vos clés
- Sécurisée - Jamais partagée ni journalisée
- Révocable - Peut être supprimée à tout moment
- Remplaçable - Peut être remplacée sans perte de fonctionnalité
- Traçable - Vous pouvez voir quelle clé a fait quelle requête
Création d'une clé API​
Endpoint : POST /api-key/create
Via le tableau de bord​
- Connectez-vous Ă https://console.yodi.tg
- Allez dans Paramètres → Clés API
- Cliquez sur Générer une nouvelle clé
- Donnez-lui un nom descriptif (ex. "Serveur de production", "Application mobile")
- Copiez la clé immédiatement (vous ne la verrez plus !)
Via l'API​
curl -X POST "https://api.yodi.tg/v1/api-key/create" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Réponse :
{
"message": "SUCCESS",
"error": false,
"data": {
"id": 101,
"key": "<secret-renvoye-une-seule-fois>",
"isActive": true
},
"meta": { "request_id": "<request-id>", "served_at": "<horodatage-utc>" },
"status": 201
}
Consulter vos clés​
Endpoint : GET /api-key/user/{userId}
Liste les métadonnées des clés du compte authentifié. Le backend limite un
appel client à son propre compte, même si le segment userId est modifié.
Les réponses ne contiennent pas le secret en clair.
curl -X GET "https://api.yodi.tg/v1/api-key/user/42" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Réponse :
{
"message": "SUCCESS",
"error": false,
"data": [
{
"id": 101,
"name": "Production",
"isActive": true
},
{
"id": 102,
"name": "Staging",
"isActive": false
}
],
"meta": { "request_id": "<request-id>", "served_at": "<horodatage-utc>" },
"status": 200
}
Obtenir les détails d'une clé​
Endpoint : GET /api-key/{id}
curl -X GET "https://api.yodi.tg/v1/api-key/101" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Modifier les paramètres d'une clé​
Endpoint : PATCH /api-key/{id}
Seuls maxRequests, rateLimit et expiresAt sont acceptés. Le nom, le
secret et l'état actif ne sont pas modifiables par cette route.
curl -X PATCH "https://api.yodi.tg/v1/api-key/101" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"maxRequests": 200,
"rateLimit": 20,
"expiresAt": "2027-01-01T00:00:00.000Z"
}'
Renouveler une clé API​
Endpoint : POST /api-key/{id}/rotate
Génère une nouvelle clé tout en conservant le nom et les paramètres. L'ancienne clé devient invalide.
curl -X POST "https://api.yodi.tg/v1/api-key/101/rotate" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Réponse :
{
"message": "KEY_ROTATED_SUCCESS",
"error": false,
"data": {
"id": 101,
"key": "<nouveau-secret-renvoye-une-seule-fois>",
"isActive": true
},
"meta": { "request_id": "<request-id>", "served_at": "<horodatage-utc>" },
"status": 200
}
L'ancienne clé cesse d'être utilisable après la rotation. Mettez à jour les intégrations avec le nouveau secret, puis stockez-le de façon sécurisée.
Révoquer une clé API​
Endpoint : POST /api-key/{id}/revoke
Désactive définitivement une clé API. Cette action est irréversible.
curl -X POST "https://api.yodi.tg/v1/api-key/101/revoke" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Réponse :
{
"message": "KEY_REVOKED_SUCCESS",
"error": false,
"data": {
"id": 101,
"isActive": false
},
"meta": { "request_id": "<request-id>", "served_at": "<horodatage-utc>" },
"status": 200
}
Révoquer une clé arrêtera immédiatement toutes les requêtes utilisant cette clé.
Supprimer une clé API​
Endpoint : DELETE /api-key/{id}
curl -X DELETE "https://api.yodi.tg/v1/api-key/101" \
-H "Authorization: Bearer YOUR_JWT_ACCESS_TOKEN"
Réponse :
{
"message": "SUCCESS",
"error": false,
"data": null,
"meta": { "request_id": "<request-id>", "served_at": "<horodatage-utc>" },
"status": 200
}
Bonnes pratiques de sécurité​
Gestion des clés​
Créez des clés séparées pour :
- L'environnement de production
- L'environnement de développement
- Les tests/Préproduction
- Différents services/applications
Rotation des clés​
Renouvelez les clés périodiquement (recommandé : tous les 90 jours) Renouvelez immédiatement si une clé est compromise
Stockage​
Stockez les clés dans des variables d'environnement :
# .env
YODI_API_KEY=sk_live_your_key_here
Utilisez des outils de gestion des secrets :
- AWS Secrets Manager
- Azure Key Vault
- HashiCorp Vault
- Docker Secrets
Surveillance​
Surveillez l'utilisation des clés dans votre tableau de bord Configurez des alertes en cas d'activité suspecte Vérifiez régulièrement la date de dernière utilisation
Contrôle d'accès​
Restreignez l'utilisation des clés API à des adresses IP spécifiques (si disponible) Utilisez un contrôle d'accès basé sur les rôles Limitez les permissions des clés (si des permissions granulaires sont disponibles)
Dépannage​
La clé ne fonctionne pas ?​
- Vérifiez le format de la clé :
sk_live_...ousk_test_... - Assurez-vous qu'elle est dans le bon en-tĂŞte :
Authorization: Bearer YOUR_KEY - Vérifiez que la clé n'a pas été révoquée
- Vérifiez votre statut d'abonnement et vos crédits
Vous avez perdu votre clé ?​
Vous ne pouvez pas récupérer une clé perdue. Vous devez :
- Créer une nouvelle clé API
- Mettre à jour tous les services avec la nouvelle clé
- (Facultatif) Révoquer la clé perdue pour des raisons de sécurité