Pour les développeurs

Erreurs de l'API

Chaque erreur répond en JSON avec un code dans detail, par exemple {"detail": "auth.unauthorized"}. Quelques codes ajoutent des champs à côté.

StatutCodeSignificationRenvoyé aussi
400assess.unsupportedLanguagelanguage (ou source_language ou target_language) n'est pas l'un des codes de langue de l'API, écrit exactement.—
400request.bodyNotJsonLe corps JSON n'a pas pu être lu comme du JSON.—
400request.unknownAudioFormataudio_format n'est ni mp3 ni wav.—
400assess.noAudioLe fichier audio est vide.—
400assessment.audioUnreadableLe fichier envoyé n'est pas un audio que Spelly sait lire.—
401auth.unauthorizedL'en-tête X-API-Key manque, est faux ou révoqué.—
401widget.keyInvalidLa clé de widget est inconnue ou révoquée.—
402operator.trialExhaustedTes unités sont épuisées.remaining et requested (unités), upgrade_url (null tant qu'aucune offre n'est vendue)
403auth.endpointNotAllowedTa clé ne peut pas appeler cette route ; celles qu'elle peut appeler sont sous Tous les endpoints.—
403operator.inactiveLe compte auquel appartient la clé est en pause ou supprimé.—
404request.notFoundCette route n'existe pas.—
405request.methodNotAllowedLa route existe, mais pas avec cette méthode.—
413assess.recordingTooLongL'enregistrement dépasse la taille maximale.—
413request.tooLargeLe corps de la requête est trop gros.—
422assessment.nothingHeardL'enregistrement ne contient pas de voix : il est silencieux, ou le micro n'a rien capté. Rien n'est facturé.—
422request.invalidUn champ manque, n'est pas accepté par l'appel ou a une valeur qu'il n'accepte pas ; ou le corps n'est pas un objet JSON.errors : un {"field", "problem"} par champ erroné, avec un value pour certains problèmes ; problem est un type comme missing, extra_forbidden (un champ que l'appel n'accepte pas), string_too_long, no_letters (un texte sans lettres à lire), dict_type (le corps n'est pas un objet JSON), unknown_sound ou literal_error
429request.tooManyRequestsTrop de requêtes : depuis ton adresse (voir Limites de débit), ou au-delà de la limite par minute propre à ta clé quand elle en a une.En-tête Retry-After : secondes à attendre
500server.failedQuelque chose a échoué du côté de Spelly.—
503service.busySpelly est chargé : des requêtes attendent leur tour.En-tête Retry-After : secondes à attendre
503service.unavailableLe service d’évaluation et de voix de Spelly ne répond pas pour le moment. Le statut de Spelly indique s’il est en panne.En-tête Retry-After : secondes à attendre
503service.maintenanceSpelly est en cours de mise à jour, en général pendant une ou deux minutes. Chaque appel est refusé jusqu’à son retour, donc rien ne reste à moitié fait. Le statut de Spelly l’indique aussi.En-tête Retry-After : secondes à attendre