Codes d'erreur & Debugging
Codes HTTPâ
| Code | Nom | Signification |
|---|---|---|
200 | OK | SuccĂšs |
201 | Created | Ressource créée |
204 | No Content | SuccÚs sans corps de réponse |
400 | Bad Request | Données invalides ou manquantes |
401 | Unauthorized | Token/API Key manquant ou invalide |
402 | Payment Required | Crédits SMTP insuffisants |
403 | Forbidden | Permissions insuffisantes |
404 | Not Found | Ressource introuvable |
409 | Conflict | Conflit (ex: job batch déjà actif) |
422 | Unprocessable Entity | Erreur de validation des données |
429 | Too Many Requests | Rate limit dépassé |
500 | Internal Server Error | Erreur serveur |
Format des erreursâ
{
"message": "Description lisible de l'erreur",
"code": "ERROR_CODE",
"statusCode": 400
}
Pour les erreurs de validation (422), message est un tableau :
{
"message": [
"email must be an email",
"smtp must be a boolean"
],
"error": "Unprocessable Entity",
"statusCode": 422
}
Erreurs courantesâ
401 â Non authentifiĂ©â
{ "message": "Unauthorized", "statusCode": 401 }
Causes possibles :
- Token JWT expirĂ© â utiliser
/auth/refresh - API Key invalide ou rĂ©voquĂ©e â vĂ©rifier dans le Dashboard
- Header manquant â ajouter
X-API-KeyouAuthorization: Bearer
402 â CrĂ©dits insuffisantsâ
{
"message": "Insufficient credits for SMTP validation",
"code": "INSUFFICIENT_CREDITS",
"statusCode": 402
}
â Rechargez vos crĂ©dits depuis le Dashboard ou dĂ©sactivez smtp: true
403 â Forbiddenâ
{ "message": "Only owners and admins can create API keys", "statusCode": 403 }
â Votre rĂŽle est member. Demandez Ă un owner ou admin d'effectuer cette action.
409 â Job batch dĂ©jĂ actifâ
{
"message": "A batch job is already running for this organization",
"code": "ACTIVE_JOB_EXISTS",
"statusCode": 409
}
â Attendez la fin du job en cours ou annulez-le via POST /batch/{jobId}/cancel
422 â Validation des donnĂ©esâ
{
"message": ["email must be an email"],
"error": "Unprocessable Entity",
"statusCode": 422
}
â VĂ©rifiez le format des donnĂ©es envoyĂ©es (voir le schĂ©ma dans l'API Reference)
429 â Rate limitâ
{
"message": "Too many requests from this IP, please try again later",
"statusCode": 429
}
â Attendez Retry-After secondes avant de rĂ©essayer
Widget â 429 WIDGET_RATE_LIMITâ
{
"message": "Too many requests for this widget",
"reason": "WIDGET_RATE_LIMIT",
"retryAfterSeconds": 60
}
â Protection anti-abus activĂ©e pour ce widget. Normal si un mĂȘme device/IP fait trop de requĂȘtes.
Statuts de validation emailâ
Les statuts status dans /email/validate ne sont pas des erreurs HTTP mais des résultats métier :
| Statut | Code HTTP | Signification |
|---|---|---|
valid | 200 | Email valide â |
invalid | 200 | Email invalide â |
risky | 200 | Email risquĂ© â ïž |
unknown | 200 | Impossible de vĂ©rifier đĄ |
Un statut invalid retourne toujours HTTP 200. C'est le résultat de la validation, pas une erreur.
Debuggingâ
VĂ©rifier le statut de l'APIâ
curl https://api.yeswecheck.fr/health
{
"status": "healthy",
"timestamp": "2026-02-25T10:00:00.000Z",
"version": "v2"
}
Tester une clĂ© APIâ
curl https://api.yeswecheck.fr/v2/credits/balance \
-H "X-API-Key: ywc_live_votre_cle"
Si vous recevez un 401, la clé est invalide ou révoquée.
Inspecter les headers de rĂ©ponseâ
curl -I -X POST https://api.yeswecheck.fr/v2/email/validate \
-H "X-API-Key: ywc_live_votre_cle" \
-H "Content-Type: application/json" \
-d '{"email": "[email protected]"}'
Logs d'usageâ
Consultez vos logs d'appels dans le Dashboard â Usage pour identifier les erreurs rĂ©currentes.
Contacter le supportâ
Si vous rencontrez une erreur 500 persistante ou un comportement inattendu :
- Email : [email protected]
- Incluez : votre
organizationId, le timestamp, l'endpoint, et la réponse complÚte