Les erreurs API connues renvoient un corps JSON avec cette structure :
{
"error": {
"message": "Human-readable description",
"code": "error_code"
}
}
Référence des erreurs
400 Bad Request
| Code | Cause | Correctif |
|---|
invalid_json | Le corps de la requête n’est pas du JSON valide | Vérifiez la syntaxe de votre JSON |
missing_model | Le champ model est manquant ou n’est pas une chaîne | Incluez "model": "provider/name" dans le corps de votre requête |
missing_input | Le champ input est manquant ou n’est pas un objet | Incluez "input": {...} dans le corps de votre requête |
invalid_input | L’entrée ne correspond pas au schéma du modèle | Consultez la référence API du modèle pour les champs requis et les valeurs valides |
model_not_found | L’ID du modèle ne correspond à aucun modèle disponible | Consultez la page des modèles pour les IDs de modèle valides |
401 Unauthorized
| Code | Cause | Correctif |
|---|
missing_api_key | Aucun en-tête Authorization ou format incorrect | Incluez Authorization: Bearer sk-... dans votre requête |
invalid_api_key | La clé est invalide, désactivée ou expirée | Créez une nouvelle clé ou réactivez l’existante dans Settings → API Keys |
402 Payment Required
| Code | Cause | Correctif |
|---|
insufficient_balance | Votre balance est trop faible pour cette exécution | Rechargez votre balance dans Settings → Credits |
403 Forbidden
| Code | Cause | Correctif |
|---|
api_key_spend_limit_exceeded | La limite de dépenses à vie de la clé a été atteinte | Augmentez la limite de dépenses dans Settings → API Keys |
ip_not_allowed | Votre IP ne figure pas dans la liste blanche de la clé | Ajoutez votre IP à la liste autorisée de la clé, ou supprimez la liste blanche |
429 Too Many Requests
| Code | Cause | Correctif |
|---|
RATE_LIMITED | Trop de requêtes dans une courte période | Attendez puis réessayez. Voir rate limits |
USAGE_EXCEEDED | Le quota d’utilisation de la clé est épuisé | Contactez le support ou créez une nouvelle clé |
404 Not Found
| Code | Cause | Correctif |
|---|
run_not_found | Aucun run avec cet ID pour votre compte | Vérifiez que l’ID du run est correct et qu’il a été créé avec cette clé API |
500 Internal Server Error
Une erreur inattendue de notre côté. Si cela persiste, contactez support@runbase.net.
Gestion des erreurs dans le code
response=$(curl -s -w "\n%{http_code}" https://runbase.net/api/v1/runs \
-H "Authorization: Bearer $RUNBASE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "google/nano-banana-2", "input": {"prompt": "test"}}')
http_code=$(echo "$response" | tail -1)
body=$(echo "$response" | head -1)
if [ "$http_code" -ne 201 ]; then
echo "Error $http_code: $(echo $body | jq -r '.error.message')"
fi
Pour les erreurs 429, implémentez un backoff exponentiel — attendez 1s, puis 2s, puis 4s avant de réessayer.