Toutes les erreurs de l’API renvoient un corps JSON avec un champ error. Une réponse 4xx exige généralement de corriger la requête, le compte ou la limite ; une réponse 5xx vient du serveur ou est temporaire, mais la sûreté d’une nouvelle tentative dépend toujours de l’action.
| Code | Nom | Signification |
|---|---|---|
| 400 | Bad Request | La validation a échoué car une valeur requise manque, est mal formée, non prise en charge ou hors de la plage autorisée. Corrigez la requête avant de réessayer. |
| 403 | Forbidden | La clé ou le compte n’est pas autorisé à effectuer cette action, par exemple si le compte est suspendu. Réessayer sans modification ne servira à rien. |
| 404 | Not Found | La ressource API demandée est introuvable ou n’est pas disponible pour cette clé. Vérifiez l’identifiant et l’appartenance au compte avant de réessayer. |
| 409 | Conflict | La requête entre en conflit avec l’état existant, par exemple si un request_id de add est réutilisé pour une autre commande logique. Utilisez la requête d’origine ou un nouvel identifiant unique selon le cas. |
| 413 | Content Too Large | Le corps de la requête est trop volumineux. Réduisez la charge ou scindez les requêtes par lots prises en charge avant de réessayer. |
| 429 | Too Many Requests | Une limite de débit ou d’action a rejeté la requête. Consultez X-RateLimit-DeniedBy lorsqu’il est présent et attendez le nombre relatif de secondes indiqué par X-RateLimit-Reset. |
| 500 | Internal Server Error | Une défaillance serveur inattendue s’est produite. Ne supposez pas que toute écriture peut être répétée sans risque ; suivez les consignes de nouvelle tentative et de rapprochement propres à l’action. |
| 502 | Bad Gateway | Le fournisseur a rejeté la demande d'exécution. Vérifiez la disponibilité du service et les données de la requête avant de réessayer. |
| 503 | Service Unavailable | L’API ou une opération requise est temporairement indisponible, notamment lorsqu’aucun fournisseur éligible n’est disponible (provider_not_found). Réessayez plus tard avec un délai progressif, respectez Retry-After lorsqu’il est présent et conservez le même identifiant d’idempotence lorsque l’action le permet. |
{
"error": "Missing required parameter: service"
}L'action requiert un paramètre qui n'a pas été inclus. Ajoutez-le au corps de la requête et réessayez.
{
"error": "Invalid API key"
}Clé erronée, clé révoquée ou clé manquante. Vérifiez que la valeur correspond à celle affichée dans /dashboard/api. L'erreur est identique pour une clé manquante ou invalide afin de prévenir les attaques par énumération.
{
"error": "Insufficient balance"
}Le solde de votre compte est inférieur au montant total facturé de la commande. Approvisionnez via /dashboard/wallet ou appliquez un coupon.
{
"error": "Service not found"
}L'ID du service n'existe pas. Rechargez le catalogue avec action=services et choisissez un ID actuel ; les services arrêtés utilisent une autre erreur 400.
{
"error": "Rate limit exceeded"
}Une limite de débit ou d’action a rejeté la requête. Consultez X-RateLimit-DeniedBy lorsqu’il est présent et attendez le nombre relatif de secondes de X-RateLimit-Reset.
{
"error": "language must be one of en, es, pt, ru, tr, ar, hi, id, fr, zh",
"error_code": "INVALID_LANGUAGE"
}services et catalog acceptent uniquement en, es, pt, ru, tr, ar, hi, id, fr ou zh. Corrigez la langue avant de réessayer.
Réessayez action=add avec le même request_id et la même requête logique pour éviter un doublon ; utilisez une nouvelle valeur unique pour une autre commande. Les actions de lecture peuvent être répétées sans risque. Les nouvelles tentatives d'annulation sont sûres tant que la commande reste admissible.