Erreurs
Référence complète des codes d'erreur de l'API CertifMaker.
Toutes les erreurs retournent un objet JSON structuré avec un code machine, un message lisible et le status HTTP :
{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Crédits insuffisants. Vous avez 2 crédit(s), il vous en faut 50.",
"status": 403
}
}Codes d'erreur
| Code | Status HTTP | Description |
|---|---|---|
UNAUTHORIZED | 401 | Clé API absente, invalide ou révoquée |
KEY_EXPIRED | 401 | La clé API a dépassé sa date d'expiration |
FORBIDDEN | 403 | Scope insuffisant pour cet endpoint |
NOT_FOUND | 404 | Ressource introuvable |
VALIDATION_ERROR | 400 | Corps de la requête invalide |
INSUFFICIENT_CREDITS | 403 | Solde de crédits insuffisant |
RATE_LIMITED | 429 | Trop de requêtes, réessayez après le délai Retry-After |
INTERNAL_ERROR | 500 | Erreur serveur interne |
Limites de taux
| Endpoint | Limite |
|---|---|
Génération de certificat (POST /certificates) | 30 req/min |
Création de batch (POST /batches) | 10 req/min |
| Tous les autres endpoints authentifiés | 120 req/min |
Vérification publique (GET /verify/:hash) | 60 req/min par IP |
En cas de 429, le header Retry-After indique en secondes combien de temps attendre.
Erreurs spécifiques à la génération
Quand les crédits sont insuffisants, la réponse inclut un objet credits supplémentaire :
{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Crédits insuffisants.",
"status": 403
},
"credits": {
"current": 2,
"required": 50
}
}Certificat en cours de rendu
Quand un certificat existe mais que son PDF n'est pas encore prêt, le download retourne 202 :
{
"error": {
"code": "NOT_FOUND",
"message": "Le PDF n'est pas encore disponible. Réessayez dans quelques secondes.",
"status": 202
},
"renderStatus": "RENDERING"
}