Erreurs
Gérez les échecs de l'API AI Glot à l'aide de codes d'erreur stables, d'identifiants de requête, d'instructions de nouvelle tentative et d'explications détaillées pour chaque erreur documentée.
Chaque échec d’API utilise la même structure de réponse (enveloppe). Effectuez vos branchements logiques sur error.code, jamais sur le message lisible par l’humain.
{
"error": {
"type": "permission_error",
"code": "insufficient_scope",
"message": "This credential is missing the batches:write scope.",
"docs_url": "https://ai-glot.com/docs/api/errors#insufficient_scope"
},
"request_id": "req_example"
}Codes de statut
| Statut | Signification | Action requise |
|---|---|---|
| 400 | Requête mal formée ou champ inconnu | Corriger la requête |
| 401 | Identifiant manquant, invalide, expiré ou révoqué | Le remplacer ou le renouveler |
| 403 | Authentifié mais non autorisé | Accorder la portée (scope) ou la fonctionnalité requise |
| 404 | Ressource absente ou hors de cet espace de travail | Vérifier l’ID et l’espace de travail |
| 409 | L’état actuel est en conflit avec la requête | Lire la ressource, puis décider |
| 413 | Corps de requête trop volumineux | Envoyer un corps plus compact |
| 422 | Valeur bien formée mais invalide | Corriger la valeur indiquée |
| 429 | Limite de débit atteinte | Attendre la durée indiquée par Retry-After |
| 500/503 | Échec d’AI Glot ou service temporairement indisponible | Réessayer avec un repli progressif (backoff) |
Codes d’authentification et d’autorisations
authentication_required
Aucun identifiant Bearer n’a été transmis. Ajoutez l’en-tête Authorization.
invalid_api_key
La clé est mal formée ou inconnue. Vérifiez que l’intégralité de la valeur aig_live_… a bien été copiée.
api_key_expired
La clé a atteint sa date d’expiration configurée. Créez ou utilisez une clé de remplacement.
api_key_revoked
Un administrateur a révoqué ou renouvelé cette clé. Mettez à jour l’intégration avec un identifiant actif.
insufficient_scope
L’identifiant est authentifié mais ne dispose pas de la portée (scope) requise pour cette opération.
feature_not_available
Le forfait de l’espace de travail ou la version actuelle de la plateforme n’inclut pas la fonctionnalité demandée.
admin_required
Seul un administrateur de l’espace de travail peut effectuer cette opération.
Codes de requête
invalid_request
La requête ne peut pas être analysée ou ne respecte pas le contrat du point de terminaison.
unknown_field
Une propriété du corps JSON n’est pas reconnue. Corrigez son orthographe plutôt que de supprimer la validation. Les paramètres d’URL (query parameters) non reconnus ne génèrent jamais cette erreur : ils sont ignorés, de sorte qu’un filtre mal orthographié renvoie un code 200 non filtré.
invalid_parameter
Un paramètre a un type, une plage de valeurs ou un format incorrect.
invalid_cursor
Le curseur de pagination est invalide. Réutilisez la valeur de next_cursor exactement telle qu’elle a été renvoyée.
request_too_large
Le corps de la requête dépasse la limite stricte du point de terminaison.
Codes de ressource et d’état
batch_not_found
Aucune traduction visible ne correspond à cet ID. Les ressources situées dans un autre espace de travail renvoient délibérément la même erreur.
glossary_not_found
Aucun glossaire n’existe pour cette paire de langues.
resource_not_found
La ressource ou la route demandée n’existe pas.
glossary_already_exists
Un glossaire existe déjà pour cette paire de langues. Mettez-le à jour au lieu d’en créer un nouveau.
result_not_ready
La traduction n’est pas terminée ; aucun résultat ne peut encore être téléchargé.
batch_not_editable
L’état actuel de la traduction ne permet pas la modification demandée.
Codes de fichier et de format
unsupported_format
L’extension de fichier ne fait pas partie de celles acceptées par AI Glot. Consultez Fichiers et formats pour découvrir les douze familles prises en charge et leurs extensions.
file_too_large
Le fichier dépasse le plafond autorisé pour son format. Les limites sont définies par format et non de manière globale (60 Mo pour un CSV, 4 Mo pour un catalogue PO) ; une taille acceptée pour une extension peut donc être refusée pour une autre.
file_fetch_failed
Impossible de récupérer file_url. L’URL doit être en HTTPS et correspondre à la destination finale : les redirections ne sont pas suivies, de sorte qu’un lien raccourci ou signé puis redirigé échouera ici.
file_retention_expired
Le fichier téléversé a dépassé sa période de rétention et n’est plus stocké. Relancez la création de la traduction à partir du fichier source.
file_expired
Le fichier associé à cette traduction n’est plus disponible, l’opération ne peut donc pas se poursuivre.
result_too_large
La traduction finale dépasse la taille maximale pouvant être renvoyée. Divisez le fichier source pour le traduire en plusieurs parties.
Codes de plan et d’approbation
plan_invalid
L’instruction ou l’ajustement n’a pas pu être converti en un plan exploitable. Reformulez votre demande : nommer explicitement les champs ou colonnes à traduire est plus fiable que de les décrire.
no_plan_yet
Une approbation a été tentée avant même qu’un plan n’existe. Appelez d’abord POST /v1/batches/{batch_id}/plan ; ce garde-fou empêche une intégration de facturer un espace de travail pour une traduction qui n’a pas été définie.
batch_not_awaiting_approval
La traduction n’est pas dans un état permettant une approbation ; elle est généralement déjà en cours d’exécution ou déjà terminée. Interrogez GET /v1/batches/{batch_id} au lieu de tenter une nouvelle approbation.
insufficient_credits
Le solde de l’espace de travail ne permet pas de couvrir le coût évalué du plan. Aucun crédit n’est réservé, la traduction reste donc prête à être approuvée dès que des crédits seront ajoutés.
Codes de langue et de glossaire
language_not_supported
Le code de langue ne figure pas dans le catalogue pris en charge. Consultez GET /v1/languages.
invalid_language_pair
L’identifiant de la paire de langues ne peut pas être décomposé en deux tags BCP 47 pris en charge.
glossary_term_limit_reached
Le nombre total de termes résultant dépasserait la limite autorisée par le forfait de l’espace de travail. La mise à jour est atomique : aucune modification n’a été enregistrée.
glossary_limit_reached
L’espace de travail a atteint le nombre maximal de glossaires autorisé pour son forfait actuel.
invalid_glossary_terms
Une ou plusieurs entrées du glossaire sont vides, incomplètes ou invalides.
Codes de service
rate_limited
L’identifiant a dépassé une fenêtre de quota. Attendez le délai indiqué par Retry-After, puis réessayez en introduisant un décalage aléatoire (jitter).
internal_error
Une défaillance inattendue est survenue sur AI Glot. Réessayez avec un repli progressif et conservez le request_id.
service_unavailable
Un service requis est temporairement indisponible. Réessayez avec un repli progressif.