Codes d'erreur
Tous les statuts HTTP que HiWay retourne et ce qu'ils signifient.
| Status | Quand | Que faire |
|---|---|---|
| 200 | Requête routée et répondue avec succès. | Lisez le body. Vérifiez X-HiWay-Routed-Model pour voir ce qui a été choisi. |
| 400 | Body malformé, pas de clé fournisseur configurée pour le tier requis, BYOK manquant, ou Security Shield en mode `block` a détecté une menace. | Fixez le body, ajoutez la clé manquante, ou consultez le log d'événements Security Shield (error.code: threat_blocked). |
| 401 | Clé API manquante, invalide ou révoquée. | Générez une nouvelle clé dans Tableau de bord → Clés et mettez à jour votre client. |
| 402 | Plafond Budget Control atteint, quota mensuel dépassé, ou cap de grâce passthrough dépassé (72h / 100k tokens après wallet à 0). | Augmentez votre cap Budget Control, upgradez votre plan, attendez le reset mensuel, ou rechargez votre wallet. Lisez error.code pour savoir quel cas. |
| 403 | Une règle IP du Security Shield refuse l'IP cliente, ou workspace suspendu. | Ajoutez une règle allow pour l'IP dans Dashboard → Security → IP Rules, ou contactez le support si le workspace est suspendu. |
| 429 | Rate limit par clé dépassé, OU Guardian a bloqué une anomalie. | Attendez les Retry-After secondes. Le body d'erreur contient rule et retry_after_seconds. |
| 500 | Erreur interne HiWay. Rare. La trace complète est dans nos logs persistants. | Réessayez une fois. Si ça persiste, ping [email protected] avec le X-Request-Id. |
| 502 | Tous les candidats fallback ont échoué. Fournisseurs upstream indisponibles. | Vérifiez les status pages fournisseurs. Regardez _hiway.fallback_chain pour voir ce qui a été tenté. |
Enveloppe de réponse d'erreur
Chaque erreur renvoie un body JSON avec cette forme :
json
{
"error": {
"code": "quota_exceeded",
"message": "Quota mensuel atteint (500 000 / 500 000).",
"included_requests": 500000,
"used_requests": 500000,
"upgrade_url": "https://www.hiway2llm.com/upgrade"
}
}402 vs 429 vs 403
402 = argent ou quota (cap budget, quota plan, cap de grâce dépassé après wallet à 0). 429 = débit ou anomalie (RPM dépassé, blocage Guardian). 403 = identité ou périmètre (règle IP deny, workspace suspendu). Sémantiques de retry différentes pour chaque.