Aller au contenu principal

Gestion des clés API

Bonnes pratiques de gestion

Une clé par environnement/projet

✅ Recommandé :
ywc_live_prod_xxx → Production backend
ywc_live_widget_xxx → Widget formulaire inscription
ywc_live_batch_xxx → Traitement batch automatisé
ywc_live_staging_xxx → Staging/recette

❌ À éviter :
ywc_live_xxx → Une seule clé pour tout

Configuration par usage

// Clé pour widget formulaire (frontend)
{
"name": "Widget Signup",
"allowedDomains": ["monapp.fr"],
"config": {
"smtp": false,
"disposable": true,
"roleAccount": true,
"enrichment": false
}
}

// Clé pour batch automatisé (backend)
{
"name": "Batch Automation",
"allowedDomains": [],
"config": {
"smtp": true,
"disposable": true,
"roleAccount": true,
"enrichment": true
}
}

Créer une clé API

Rôle requis : owner ou admin

curl -X POST https://api.yeswecheck.fr/v2/api-keys \
-H "Authorization: Bearer VOTRE_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "Production Backend",
"allowedDomains": [],
"config": {
"smtp": true,
"disposable": true,
"roleAccount": true
}
}'
{
"id": "ak_abc123",
"name": "Production Backend",
"key": "ywc_live_abc123xyz789...",
"status": "active",
"prefix": "ywc_live_abc1...",
"config": { "smtp": true, "disposable": true, "roleAccount": true },
"createdAt": "2026-02-25T10:00:00.000Z"
}
Stocker la clé immédiatement

Le champ key n'est retourné qu'une seule fois à la création. Si vous le perdez, vous devrez créer une nouvelle clé.

Consulter les statistiques d'une clé

curl "https://api.yeswecheck.fr/v2/api-keys/ak_abc123/stats?days=7" \
-H "Authorization: Bearer VOTRE_JWT"
{
"totalRequests": 14520,
"successRate": 98.7,
"creditsConsumed": 3240,
"topEmails": 120,
"requestsByDay": [...]
}

Révoquer et réactiver

# Révoquer (désactiver)
curl -X POST https://api.yeswecheck.fr/v2/api-keys/ak_abc123/revoke \
-H "Authorization: Bearer VOTRE_JWT"

# Réactiver
curl -X POST https://api.yeswecheck.fr/v2/api-keys/ak_abc123/reactivate \
-H "Authorization: Bearer VOTRE_JWT"

Rotation de clé (sans downtime)

Pour remplacer une clé sans interruption de service :

# 1. Créer la nouvelle clé
NEW_KEY=$(curl -s -X POST .../api-keys \
-H "Authorization: Bearer $JWT" \
-d '{"name": "Production V2"}' | jq -r '.key')

# 2. Déployer la nouvelle clé dans vos services
# (mettez à jour vos variables d'environnement)

# 3. Une fois déployé, révoquer l'ancienne
curl -X POST .../api-keys/OLD_KEY_ID/revoke \
-H "Authorization: Bearer $JWT"

Rate limits par clé

# Consulter les rate limits configurés
curl https://api.yeswecheck.fr/v2/api-keys/rate-limits \
-H "Authorization: Bearer VOTRE_JWT"