Aller au contenu

Tape un mot pour chercher dans les pages.

↑↓ Choisir↵ OuvrirÉchap Fermer

Référence

Format des erreurs de l'API Host, liste des codes, leur cause et la conduite à tenir.

Une erreur répond avec un statut HTTP 4xx ou 5xx, et un objet error. Le champ code est stable : teste-le dans ton code. Le champ message est en français et s’affiche à une personne.

{
"error": {
"code": "not_found",
"message": "Projet introuvable."
}
}

Codes

StatutCodeCauseQue faire
400bad_requestCorps ou paramètre invalide. Le message nomme le champ en causeCorrige la requête
400missing_filesDes fichiers du déploiement ne sont pas encore envoyés. La réponse liste leurs empreintes dans missingEnvoie-les par /v2/files, puis recrée le déploiement
400invalid_digestLe contenu envoyé ne correspond pas à l’empreinte annoncéeRecalcule le SHA1 du fichier
403forbiddenClé absente, inconnue ou révoquée. Ou clé de projet utilisée pour un autre projetVérifie la clé et sa portée
404not_foundRessource introuvable, ou hors de la portée de la cléVérifie l’identifiant ou le nom
409conflictUn projet porte déjà ce nomChoisis un autre nom, ou utilise le projet existant
409deployment_closedLe déploiement a été annulé ou a échoué : rien n’est publiéCrée un nouveau déploiement
413file_too_largeUn fichier dépasse 20 MoAllège le fichier, ou sers-le autrement
413payload_too_largeLes fichiers inclus dans le corps dépassent 20 Mo au totalEnvoie-les par /v2/files
429rate_limitedTrop de requêtes pour cette cléAttends un instant, puis réessaie
500internal_server_errorErreur de la plateforme. Elle est signalée automatiquementRéessaie. Si elle persiste, écris à support@hgdc.ch

Toutes les routes peuvent répondre 403 forbidden, 429 rate_limited et 500 internal_server_error.

Le message d’une erreur 500 ne donne jamais de détail technique. Ne compte pas sur son texte, seulement sur son code.

Le cas de missing_files

missing_files n’est pas une panne : c’est l’étape normale d’un déploiement. La CLI la traite toute seule. Si tu écris ton propre client, voici la réponse :

{
"error": {
"code": "missing_files",
"message": "Fichiers à envoyer avant de créer le déploiement.",
"missing": [
"2ef7bde608ce5404e97d5f042f95f89f1c232871"
]
}
}

Envoie chaque fichier listé, puis renvoie exactement la même requête de création de déploiement.