Passer au contenu principal
Parfois, l’OCR lit mal une pièce d’identité, une facture de services publics ou une entrée de registre. Didit expose trois endpoints PATCH que vous pouvez appeler pour corriger les données extraites, sans avoir à relancer l’intégralité de la vérification. Les quatre acceptent votre clé API client ou un en-tête d’autorisation utilisateur, et les quatre émettent un événement webhook data.updated en cas de réussite, afin que votre système et vos analyses en aval restent synchronisés.

Exigences communes

  • Autorisation : clé API client (x-api-key / Authorization bearer standard) ou token d’autorisation utilisateur.
  • Privilège :
    • KYC et POA : write:sessions
    • Entreprise KYB et partie « personnes clés » : write:businesses
  • Statut de la session (KYC / POA uniquement) : doit être l’un de APPROVED, DECLINED, IN_REVIEW ou KYC_EXPIRED. Les sessions qui n’ont pas atteint un état pouvant faire l’objet d’un examen ne peuvent pas être corrigées. Les mises à jour de l’entreprise KYB ne sont soumises à aucune condition de statut.
  • L’enregistrement de la fonctionnalité doit exister : vous ne pouvez corriger les champs KYC que si la session a capturé un KYC, les champs POA si elle a capturé un POA, et les champs de l’entreprise KYB si la session comporte une vérification de registre.
  • Mises à jour partielles : seuls les champs que vous incluez sont modifiés. Omettez un champ pour le laisser inchangé. Envoyez null pour supprimer une clé de extra_fields.
  • Webhooks : une mise à jour réussie déclenche data.updated avec session_kind: "user" ou "business", et le journal d’audit de la session enregistre les champs précis modifiés ainsi que la personne qui les a modifiés.

Mettre à jour les données d’identité KYC

PATCH /v3/session/{sessionId}/update-data/ Corrigez n’importe quel champ extrait du document d’identité. Prend en charge les workflows multi-instances basés sur un graphe, via le paramètre de requête facultatif node_id ou un champ du corps de la requête : ciblez un enregistrement KYC précis lorsqu’une même session comporte plusieurs étapes KYC.

Champs modifiables

parsed_address n’accepte que ces clés imbriquées : address_type, city, region, street_1, street_2, postal_code, country (ISO 3166-1 alpha-2).

Exemple

Pour un workflow multi-instances basé sur un graphe, ajoutez ?node_id=feature_ocr_2 à l’URL (ou passez "node_id": "feature_ocr_2" dans le corps de la requête) pour cibler un enregistrement KYC précis.

Mettre à jour les données du justificatif de domicile (POA)

PATCH /v3/session/{sessionId}/update-poa-data/ Corrigez les champs extraits d’un justificatif de domicile. Mêmes conditions de statut et même privilège que pour les mises à jour KYC. Prend également en charge node_id pour les workflows multi-instances.

Champs modifiables

Exemple

Mettre à jour les données de l’entreprise KYB

PATCH /v3/session/{sessionId}/kyb/{companyUuid}/update-data/ Corrigez les champs extraits du registre pour une entreprise KYB. L’endpoint modifie à la fois les colonnes canoniques de l’entreprise et registry_data, afin que la vue « Extracted from Registry » de la console reflète vos corrections. user_provided_data (ce que l’utilisateur final a confirmé dans le parcours hébergé) n’est pas modifié. last_console_edit_at est horodaté et un webhook data.updated est déclenché avec trigger: "console_registry_edit".

Prérequis

  • Privilège : write:businesses (différent du privilège KYC / POA).
  • Le companyUuid présent dans l’URL doit appartenir au sessionId indiqué, sinon vous obtenez une erreur 404.
  • Aucune restriction liée au statut de la session : les données de l’entreprise KYB peuvent être corrigées à tout moment.

Champs modifiables

Tout champ omis reste inchangé. Tout champ envoyé est écrit dans la colonne canonique (lorsqu’elle existe) et fusionné dans registry_data. Les dates sont sérialisées en chaînes ISO 8601 lors de la fusion dans registry_data.

Exemple

Réponse : l’objet complet de l’entreprise KYB, de même structure que registry_checks[].company dans la décision de session.

Ignorer une partie des personnes clés

PATCH /v3/session/{sessionId}/kyb/parties/{partyUuid}/ Exemptez une partie des personnes clés de la vérification : c’est la solution de repli pour une partie qui ne pourra jamais terminer sa propre vérification. La cause habituelle est la suppression d’une session enfant : une fois que la vérification KYC individuelle attribuée à un UBO ou à un dirigeant est supprimée, son statut est figé et ne peut plus aboutir. La KYB ne dispose alors d’aucun moyen de la faire sortir de Awaiting User. Ignorer la partie la retire de l’agrégation des personnes clés, la vérification est recalculée immédiatement, et la session peut alors aboutir et être approuvée ou refusée.

Prérequis

  • Privilège : write:businesses.
  • Le partyUuid présent dans l’URL doit appartenir au sessionId indiqué, sinon vous obtenez une erreur 404.
  • Non soumis à allow_skip. Ce paramètre de rôle limite ce que le demandeur peut ignorer lorsqu’il remplit l’écran hébergé des personnes clés. Cet endpoint est la dérogation de l’opérateur : il fonctionne donc même pour les rôles que le demandeur n’aurait pas pu ignorer.

Corps de la requête

requires_verification n’est volontairement pas modifié : une partie ainsi dérogée apparaît donc avec requires_verification: true et is_skipped: true. L’enregistrement indique toujours que les règles exigeaient une vérification.

Exemple

Réponse : la partie mise à jour, de même structure qu’une entrée de key_people_checks[].submitted.parties[] dans la décision de session. Un webhook data.updated est déclenché avec trigger: "console_key_people_skip".
Une partie dont la session enfant a été supprimée est signalée dans la charge utile de la décision avec kyc_session_deleted: true (ou kyb_sub_session_deleted: true pour les parties d’entreprises), et son kyc_session_url / kyb_sub_session_url est renvoyée avec la valeur null, car le lien ne mène plus nulle part. La suppression d’une session enfant n’approuve jamais la partie à elle seule : la vérification des personnes clés passe à In Review, afin qu’une personne tranche.

Ce qui se passe après une mise à jour

  • Webhook : data.updated est déclenché pour la session, avec son session_kind dans le payload ("user" ou "business"). Abonnez-vous une fois au niveau de la destination de webhook et aiguillez selon session_kind.
  • Piste d’audit : la session enregistre précisément les champs modifiés, les anciennes et nouvelles valeurs et, pour les appels authentifiés par utilisateur, l’e-mail de l’acteur. Visible dans l’onglet Events de la console.
  • Nouveau géocodage de l’adresse : pour les mises à jour KYC et POA qui modifient address / poa_address, Didit relance le géocodage en arrière-plan. Les échecs sont ignorés afin que la mise à jour n’échoue jamais en raison d’un problème de géocodage.
  • Réévaluation AML : les mises à jour KYC qui modifient le nom, la date de naissance ou la nationalité peuvent relancer le filtrage AML si celui-ci n’était pas terminé pour la session. Les résultats apparaissent dans la décision de session.

Quand ne pas utiliser ces endpoints

  • Relancer la vérification complète : si le client doit reprendre la photo de sa pièce d’identité ou téléverser à nouveau un document, utilisez plutôt update-status pour faire passer la session à Resubmitted.
  • Modifier les champs de profil de l’entité User ou Business : utilisez PATCH /v3/users/{vendor_data}/ ou PATCH /v3/businesses/{vendor_data}/. Ces endpoints mettent à jour les données au niveau de l’entité, et non au niveau de la session.
  • Modifier les détails des personnes clés : aucune API publique ne permet de modifier le nom, les rôles ou l’actionnariat d’une partie. Ces données sont soumises via le parcours hébergé. Le seul champ modifiable est is_skipped (voir Ignorer une partie des personnes clés).

Erreurs

Étapes suivantes

Récupérer la session

Récupérez la décision complète pour voir les champs mis à jour.

Mettre à jour le statut

Approuvez, refusez ou rouvrez une session après une correction des données.

Webhooks

Abonnez-vous aux événements data.updated.
Dernière modification le 7 novembre 2026