Aller au contenu
TellMeHow Documentation

Documentation de l’API

Erreurs

Une forme unique { code, message, details } et des codes stables, à tester dans votre code plutôt que les messages.

Forme d’une erreur

Toute erreur rend le même objet : un code stable, un message traduit pour un humain, et des détails propres au code (les champs invalides pour une erreur de validation).

JSON
{
    "code": "validation.failed",
    "message": "Certains champs sont invalides.",
    "details": {
        "errors": {
            "name": [
                "Le champ nom est obligatoire."
            ]
        }
    }
}

Statuts HTTP

StatutSignification
401Jeton absent, inconnu, révoqué ou expiré, ou compte qui n’est plus membre de l’espace (l’en-tête WWW-Authenticate relance la découverte OAuth).
403Le rôle, une règle de l’espace ou la portée du jeton n’autorisent pas l’opération.
404Ressource inconnue, ou d’un autre espace.
409La ressource n’est pas dans un état qui permet l’opération (mission déjà lancée, version publiée…).
422Données invalides : details.errors liste les champs et leurs messages.
429Limite de débit atteinte : réessayer après Retry-After.
500Erreur inattendue de la plateforme : réessayer plus tard.

Codes d’erreur

La liste complète, par module, avec le message en français. Les paramètres d’un message (précédés de deux-points) sont remplacés par leur valeur dans la réponse.

Génériques

CodeMessage
auth.unauthenticatedVous devez être connecté.
auth.forbiddenVous n'avez pas le droit de faire cela.
auth.two_factor_requiredUn code de double authentification est requis.
auth.csrf_mismatchLa page a expiré. Rechargez-la et réessayez.
resource.not_foundLa ressource n'existe pas.
resource.conflictLa ressource est dans un état incompatible.
validation.failedCertains champs sont invalides.
rate.limitedTrop de requêtes. Réessayez plus tard.
http.errorLa requête n'a pas pu être traitée.
internal.errorUne erreur inattendue s'est produite.

IA

CodeMessage
ai.provider_errorLe fournisseur d’IA a renvoyé une erreur. Réessayez dans un instant.
ai.provider_quotaLe quota ou le crédit du fournisseur d’IA est épuisé.
ai.budget_cap_reachedLe plafond de budget de cette session ou de cette mission est atteint.
ai.platform_credential_missingAucune clé API utilisable pour cet usage : ajoutez une clé dans Connexions IA ou choisissez un autre profil.
ai.schema_violationLa réponse de l’IA ne respecte pas le format attendu.
ai.driver_unsupported_for_usageCe fournisseur ne peut pas servir à cet usage.
ai.model_unsupported_for_usageCe modèle ne peut pas servir à cet usage.
ai.credential_invalidLe fournisseur a refusé cette clé.
ai.credential_in_useCette clé est utilisée par :count profil(s) IA : modifiez-les d’abord.
ai.credential_driver_mismatchCette clé appartient à un autre fournisseur.
ai.base_url_requiredCe fournisseur demande une URL de base.
ai.base_url_not_allowedCette URL de base est refusée : https et adresse publique obligatoires (seuls une clé ou un profil compatible OpenAI peuvent en porter une).
ai.base_url_mismatchUne clé n’est envoyée qu’à l’adresse pour laquelle elle a été enregistrée : cette URL de base ne correspond pas à la clé.
ai.prompt_not_foundUn prompt d’IA manque dans cette installation.
ai.voice_lab_engagement_not_readyLe labo voix joue l’entretien d’une mission qui a au moins une population. Créez une mission (ou ajoutez une population à celle-ci), puis relancez l’essai.
ai.profile_scope_invalidCette méthode ou cette mission n’existe pas dans l’espace.
ai.catalog_model_existsCe fournisseur liste déjà un modèle avec cet identifiant.
ai.catalog_provider_existsUn fournisseur porte déjà cet identifiant.
ai.catalog_usage_not_supported_by_driverLe driver de ce fournisseur ne sait pas servir l'usage « :usage ».
ai.catalog_realtime_requires_voiceUn modèle temps réel ne sert que l'usage voix.
ai.catalog_dimensions_requiredUn modèle d'embedding doit déclarer sa dimension native.
ai.catalog_native_provider_lockedUn fournisseur natif n'a pas d'URL de base : ajoutez plutôt un fournisseur compatible OpenAI.
ai.catalog_compatible_requires_base_urlUn fournisseur compatible OpenAI a besoin d'une URL de base.
ai.catalog_default_cannot_be_hiddenCe modèle est le défaut de « :usage » : choisissez d'abord un autre défaut.
ai.catalog_provider_holds_defaultCe fournisseur porte le modèle par défaut de : :usages. Choisissez d'abord d'autres défauts.
ai.catalog_default_model_unavailableCe modèle ne peut pas être le défaut de « :usage » : il doit être visible et servir cet usage.
ai.catalog_default_architecture_mismatchLa voix directe demande un modèle temps réel ; la cascade, un modèle de texte.

Analyse

CodeMessage
analysis.run_in_progressUne analyse est déjà en attente ou en cours pour cette mission.
analysis.run_not_cancellableCe run d'analyse est déjà terminé.
analysis.evidence_requiredUn constat exige au moins une preuve.
analysis.last_evidenceC'est la dernière preuve d'un constat validé : elle ne peut pas être retirée.
analysis.evidence_source_not_foundLa source citée n'existe pas dans cette mission.
analysis.follow_up_not_editableUne relance ne se modifie que tant qu'elle est proposée.
analysis.follow_up_targets_requiredUne relance vise au moins un participant de la mission.
analysis.change_proposal_decidedCette proposition de changement a déjà été tranchée.
analysis.contradiction_resolvedCette contradiction a déjà été tranchée.
analysis.merge_same_processUn process ne peut pas être fusionné avec lui-même.
analysis.steps_not_in_processCertaines étapes n'appartiennent pas à ce process.
analysis.category_unknownCette catégorie n'est pas dans le schéma du livrable de la méthode.
analysis.not_foundCet objet n'appartient pas à la mission.
analysis.flow_steps_mismatchUn flux relie deux étapes du même process.

Chat de l’audit

CodeMessage
chat.version_requiredLe livrable n’est pas encore publié : le chat s’ouvre avec la première version.
chat.answer_in_progressUne réponse est en cours de rédaction : attendez-la avant de poser une autre question.
chat.policy.not_ownerCette conversation n’est pas la vôtre.

Livrable

CodeMessage
deliverable.documents_not_readyUn document inclus n’est pas prêt : générez-le ou retirez-le de la publication.
deliverable.nothing_to_publishRien à publier pour l’instant : validez au moins un process ou un constat avec une preuve publiable.
deliverable.publish_in_progressUne publication est déjà en cours pour cette mission.
deliverable.suggestion_in_progressUne suggestion est déjà en cours de rédaction pour ce brouillon.
deliverable.version_not_publishedCette version n’a pas de contenu publié.
deliverable.naming_not_allowedCertains participants ne peuvent pas être nommés : la mission doit le prévoir et chacun doit l’avoir accepté.
deliverable.policy.not_allowedVous n’avez pas accès à ce livrable.
deliverable.policy.not_memberVous n’êtes pas affecté à cette mission.
deliverable.policy.not_draftSeul le brouillon peut être modifié.
deliverable.policy.not_sponsorVous n’êtes pas sponsor de cette mission.
export.document_kind_requiredPrécisez le document à exporter.
export.format_unsupportedCe format n’existe pas pour ce document.
export.kind_not_allowedCe format n’est pas proposé dans l’espace client : choisissez un document ou le rapport complet.
export.not_readyCet export n’est pas disponible au téléchargement.
export.process_requiredUn export BPMN vise un process : choisissez-le.
export.version_requiredCet export lit une version publiée : publiez d’abord le livrable.
sponsor_comment.closedCe commentaire est clos.
sponsor_comment.not_rootRépondez au commentaire lui-même, pas à une réponse.
deliverable_document.generation_in_progressUne génération est déjà en cours pour ce document.
deliverable_document.conflictCe document a été modifié entre-temps : rechargez-le avant d’enregistrer.
deliverable_document.not_enough_materialPas encore assez de matière : il faut au moins un chapitre validé et :min constats avec preuve.
deliverable_document.ref_unknownUn bloc cite un élément qui n’existe pas dans la mission.
deliverable_document.person_namedUn rôle porteur ne peut pas nommer un participant : indiquez un rôle.
deliverable_document.data_ref_invalidCe bloc pointe des données qui n’appartiennent pas à ce document.
deliverable_document.all_blocks_rejectedAucun texte généré n’a passé les contrôles de preuve : relancez la génération ou écrivez le texte vous-même.
deliverable_document.job_failedLa génération a échoué.

Missions

CodeMessage
engagement.not_launchableCette mission ne peut pas encore être lancée : corrigez les points bloquants de la liste de lancement.
engagement.not_draftCe n’est possible que tant que la mission est en brouillon.
engagement.locale_unavailableCette langue n’est pas activée dans l’espace, ou la langue par défaut ne fait pas partie des langues de la mission.
engagement.method_version_not_publishedCette version de méthode n’est pas publiée.
engagement.method_not_publishedCette méthode n’a encore aucune version publiée. Publiez-la avant de créer une mission.
engagement.archivedCette mission est archivée : rouvrez-la pour modifier sa configuration.
engagement.member_invalidCette personne n’est pas membre de l’espace.
engagement.policy.not_memberVous n’êtes pas affecté à cette mission.
engagement.policy.not_adminSeul un administrateur peut le faire.
engagement.policy.not_sponsorVous n’êtes pas sponsor de cette mission.
state.invalid_transitionCe changement de statut n’est pas possible depuis le statut actuel.
client_company.in_useUne mission audite cette entreprise : elle ne peut pas être supprimée.
population.not_emptyCette population a encore des participants. Déplacez-les ou retirez-les d’abord.
participant.email_takenUn participant de la mission utilise déjà cette adresse.
participant.interview_startedL’entretien a commencé : le participant ne peut pas être supprimé. Passez par une demande d’effacement.
participant.revokedL’accès de ce participant est révoqué.
participant.link_invalidCe lien n’est pas valide.
participant.link_expiredCe lien a expiré.
participant.link_revokedCe lien a été révoqué.
participant.email_code_requiredSaisissez le code reçu par e-mail pour continuer.
participant.email_code_invalidCe code n’est pas valide. Vérifiez le dernier e-mail reçu.
participant.email_code_lockedTrop d’essais. Demandez un nouveau code.
participant.import_invalidLe fichier n’a pas pu être lu comme un CSV avec les colonnes attendues.
plan.topic_unknownLe plan cite des thèmes absents du guide.
plan.proposal_not_foundCette proposition de plan n’existe pas ou a expiré.
message_template.variable_unknownLe message utilise une variable inconnue.
message_template.link_missingCe message doit contenir la variable {link}, sinon le participant ne peut pas ouvrir l’entretien.
sponsor.is_memberCette personne est membre du cabinet et voit déjà la mission.

Intégrations

CodeMessage
integrations.token_invalidCe jeton d'API est invalide, révoqué ou expiré, ou son compte n'est plus membre de cet espace.
integrations.scope_insufficientCe jeton est en lecture seule : il ne peut rien modifier.
integrations.session_requiredCette opération n'est possible que depuis l'application, pas avec un jeton d'API.
integrations.token_limit_reachedVous avez déjà :max jetons actifs dans cet espace : révoquez-en un d’abord.
integrations.oauth_not_memberSeul un membre de cet espace peut autoriser une application.
integrations.oauth_two_factor_requiredActivez la double authentification sur votre compte avant d’autoriser une application.
integrations.operator_token_invalidCe jeton est invalide, révoqué ou expiré, a été émis pour un espace, ou son compte n’est plus opérateur de la plateforme.
integrations.operator_token_limit_reachedVous avez déjà :max jetons actifs pour le back-office : révoquez-en un d’abord.
integrations.oauth_not_operatorSeul un opérateur de la plateforme peut autoriser une application sur le back-office.

Entretiens

CodeMessage
interview.guide_not_frozenL'entretien n'a pas encore commencé : le participant n'a pas accepté l'écran d'accueil.
interview.consent_already_givenLe consentement a déjà été enregistré pour cet entretien.
interview.not_readyL'entretien ne peut pas démarrer de session avant le consentement.
interview.completedCet entretien est terminé : aucune nouvelle session ne peut démarrer.
interview.voice_sample_unavailableLa voix de l'intervieweuse ne peut pas être jouée pour l'instant.
interview.preview_requires_engagementUn aperçu d'entretien se joue dans une mission : choisissez-en une.
session.invalid_transitionCette session ne peut pas passer dans cet état.
session.not_liveCette action exige une session en direct.
session.mode_unavailableCe mode de session n'est pas disponible ici.
session.limit_reachedLe plafond de la mission est atteint : aucune nouvelle session ne peut démarrer.
tool.unknownCet outil de l'intervieweuse n'existe pas.
tool.arguments_invalidLes arguments de l'outil ne respectent pas le schéma attendu.
vision.rate_limitedTrop d'images d'écran par minute.
chapter.not_in_progressCe chapitre n'est pas en cours.
chapter.not_coveredCe chapitre n'a pas encore été couvert : rien à valider.
chapter.reopen_not_allowedCe chapitre ne peut pas être rouvert.
recap.already_validatedCe récapitulatif est validé et ne se modifie plus.
recap.not_foundIl n'y a pas encore de récapitulatif pour ce chapitre.
redaction.invalid_rangeLa plage de temps à supprimer est invalide.
recording.not_readyCet enregistrement n'est pas prêt à être lu.
simulation.persona_not_foundCe persona de simulation n'existe pas.
simulation.failedLa simulation s'est arrêtée sur une erreur du modèle.

Méthodes

CodeMessage
method.consultant_cannot_editSeul un administrateur peut modifier une méthode.
method.version_publishedCette version est publiée et ne peut plus changer. Créez un nouveau brouillon pour la modifier.
method.welcome_block_missingIl manque un bloc obligatoire à l’écran d’accueil.
method.welcome_variable_unknownL’écran d’accueil utilise une variable inconnue.
method.draft_existsUne version brouillon existe déjà pour cette méthode.
method.in_useUne mission utilise cette méthode : elle ne peut pas être supprimée.
method.template_not_foundCe modèle de méthode n’existe pas.
method.priority_rule_invalidUne règle du barème de priorité est mal écrite.
guide.category_unknownCette catégorie de livrable n’existe pas dans la méthode.
guide.level_unavailableCe niveau du guide n’est pas encore disponible.
guide.override_not_allowedOn ne surcharge qu’un thème hérité, depuis une mission, une population ou un participant.
guide.topic_key_takenUn autre thème utilise déjà cette clé.
guide.topic_limit_reachedCe niveau a atteint le nombre maximal de thèmes.
guide.reorder_mismatchLe nouvel ordre doit lister exactement les thèmes de ce niveau.
guide.proposal_not_foundCette proposition n’existe pas ou a expiré.
method_template.key_takenUn autre modèle de méthode utilise déjà la clé « :key ».
method_template.key_lockedCe modèle a été publié : sa clé ne change plus, les méthodes des cabinets y renvoient.
method_template.version_frozenCette version du modèle est publiée et ne peut plus changer. Ouvrez un nouveau brouillon pour la modifier.
method_template.draft_existsCe modèle a déjà une version brouillon.
method_template.not_publishableCette version ne peut pas encore être publiée : corrigez les points listés.
method_template.locale_existsCette langue existe déjà dans cette version.
method_template.locale_missingCette version n’a pas de contenu dans cette langue.
method_template.last_localeUn modèle garde au moins une langue.

Plateforme

CodeMessage
platform.already_operatorCe compte est déjà opérateur de la plateforme.
platform.last_ownerLa plateforme doit garder au moins un propriétaire.
platform.grant_too_longUn accès de support dure au plus :hours heures.

Confidentialité

CodeMessage
privacy.invalid_custom_patternLe motif personnalisé « :label » n'est pas valide : il doit s'agir d'une expression valide de 200 caractères au plus, avec un libellé, qui ne correspond jamais à un texte vide.
privacy.image_unreadableL'image n'a pas pu être lue. Rien n'a été enregistré.
privacy.video_processing_failedLe floutage de l'enregistrement a échoué. L'enregistrement reste indisponible jusqu'à un nouveau traitement.
privacy.engagement_not_foundCette mission n'existe pas dans cet espace.
privacy.engagement_forbiddenVous n'êtes pas affecté à cette mission.
privacy.deletion_request_not_openCette demande est déjà traitée ou en cours de traitement.
privacy.deletion_request_existsUne demande est déjà ouverte pour ce participant.
privacy.participant_not_foundCe participant n'existe pas dans cette mission.
privacy.compliance_document_missingLe fichier de ce document n'existe plus : générez-le à nouveau.
privacy.support_operator_not_foundCet opérateur n'existe pas ou n'est plus opérateur.

Sources

CodeMessage
artifact.unsupported_typeCe type de fichier n'est pas accepté.
artifact.not_readyCette pièce n'a pas encore été extraite.
source.schema_invalidLe fichier ne respecte pas le format d'échange des sources externes.
source.version_unsupportedCette version du format d'échange n'est pas prise en charge.
source.file_unreadableLe fichier n'est ni un export JSON ni un texte lisible.

Espace et compte

CodeMessage
workspace.context_missingAucun espace courant pour cette opération.
workspace.not_foundCet espace n'existe pas.
workspace.suspendedCet espace est suspendu.
workspace.last_adminUn espace doit garder au moins un administrateur.
workspace.invitation_invalidCette invitation est invalide ou a expiré.
workspace.invitation_email_mismatchCette invitation a été envoyée à une autre adresse e-mail.
workspace.already_memberCette personne est déjà membre de l'espace.
workspace.slug_reservedLe sous-domaine « :slug » n'est pas autorisé.
workspace.slug_takenLe sous-domaine « :slug » est déjà utilisé.
workspace.locale_not_enabledLa langue « :locale » n'est pas disponible.
auth.magic_link_invalidCe lien de connexion est invalide ou a expiré.
auth.two_factor_setup_requiredLa double authentification doit être activée sur votre compte.