Passer au contenu principal
GET
cURL

Prise en charge KYC et KYB

Cet endpoint fonctionne pour les sessions de Vérification des utilisateurs (KYC) et de Vérification d’entreprise (KYB). La réponse contient toujours un champ de premier niveau session_kind :
  • "user" : session de Vérification des utilisateurs (KYC). La réponse contient id_verifications, liveness_checks, face_matches, nfc_verifications, poa_verifications, database_validations.
  • "business" : session de Vérification d’entreprise (KYB). La réponse contient registry_checks, document_verifications, key_people_checks.
Les deux types partagent aml_screenings, phone_verifications, email_verifications, questionnaire_responses, ip_analyses, document_ai_documents, bank_verifications, reviews, contact_details, ainsi que les champs communs de premier niveau (session_id, session_number, session_url, status, workflow_id, vendor_data, metadata, callback, features, expected_details, created_at, expires_at). Didit résout le session_id pour les deux types de session (Vérification des utilisateurs d’abord, Vérification d’entreprise ensuite) et renvoie celle qui correspond. Les UUID sont uniques par application : il n’y a donc aucune ambiguïté. Consultez l’aperçu des sessions pour le tableau complet des fonctionnalités propres à chaque type.

Exemples

Réponse (tronquée) :

Traitement de la réponse de votre côté

Statut, trace de décision et champs d’examen

Chaque décision indique comment son status a été déterminé.

Conservation des données biométriques

biometric_retention est toujours présent. deletes_at correspond à la date à laquelle les données biométriques actives de la session sont supprimées, et jurisdictions liste les États américains dont les règles biométriques fixent une limite de suppression pour la personne (US lorsque l’État est inconnu). deletes_at vaut null lorsqu’aucune date ne s’applique encore.

Vérification de la localisation

Lorsque le workflow comporte une étape de Vérification de la localisation, la décision contient deux tableaux. geolocation_checks[] contient un élément par étape : sa tentative acceptée, avec le résultat, les coordonnées et leur précision, les contrôles par rapport à la localisation IP et à l’adresse enregistrée, et les warnings de l’étape. geolocation_attempts[] liste chaque tentative de chaque étape, de la plus ancienne à la plus récente, avec la date de réception de chacune. Les workflows sans cette étape renvoient null pour les deux. Chaque champ et chaque résultat figure dans le rapport de vérification de la localisation.

Événements de routage du workflow

?include=events ajoute la chronologie des événements de la session. En plus des changements d’étape et de statut, un workflow qui passe par des nœuds de branchement enregistre un événement pour chaque décision de routage. Une intégration (ou la chronologie de la Console) peut ainsi expliquer pourquoi une session s’est terminée sur un résultat donné, sans reconstituer le graphe du workflow à la main. Les deux événements portent sent_at en millisecondes, comme tous les autres événements, et n’ont ni component, ni feature_step, ni step : ils proviennent du moteur de workflow et non de l’appareil de l’utilisateur. Une branche « else » (une branche sans condition) compte comme une branche retenue ; fallback n’est true que si aucune branche n’a été retenue. Les nœuds qui ne disposent que d’une seule transition sortante ne prennent aucune décision et n’écrivent aucun événement. La même structure renvoie aussi workflow_terminal_node_id : le node_id du dernier nœud de statut du workflow enregistré qui a défini un statut de session, ou null si aucun identifiant de nœud de ce type n’a été enregistré. Il s’agit d’une trace historique de l’origine du workflow. Les approbations, refus et nouvelles soumissions effectués manuellement ne l’effacent pas ; un nœud de statut de workflow ultérieur le remplace. Par exemple, si un workflow envoie une session vers un nœud En cours d’examen, puis qu’un réviseur l’approuve plus tard, le status actuel est Approved, tandis que workflow_terminal_node_id identifie toujours le nœud En cours d’examen. Il peut aussi rester renseigné pendant qu’une nouvelle soumission est en cours. Pour distinguer les résultats du workflow des décisions manuelles ultérieures, lisez le status actuel, la chronologie des événements et celle de activity_reviews.

Soumissions antérieures (?include=resubmissions)

Une nouvelle soumission renvoie l’utilisateur vers les étapes que vous sélectionnez et conserve ce que ces étapes ont renvoyé auparavant. ?include=resubmissions ajoute un tableau resubmissions, du plus ancien au plus récent, avec une entrée par demande de nouvelle soumission. Chaque entrée contient les résultats que cette demande a remplacés, afin que vous puissiez toujours consulter ce que l’utilisateur a soumis précédemment. Cela fonctionne pour les sessions utilisateur (KYC) et entreprise (KYB), et vous pouvez le combiner avec les événements (?include=events,resubmissions). Sans ce paramètre, la réponse ne change pas. Les résultats actuels (id_verifications et les autres au premier niveau) décrivent toujours la dernière soumission. Les étapes qui n’ont pas été renvoyées conservent un seul résultat à cet endroit.
La suppression d’une session supprime les résultats de toutes les soumissions qui lui sont liées.

Méthodes de vérification d’identité

Chaque élément de id_verifications[] indique laquelle des trois méthodes de vérification d’identité l’a produit. Vous pouvez ainsi distinguer une lecture de document d’une consultation de registre ou d’une connexion par portefeuille, sans deviner à partir des champs qui se trouvent être renseignés : Une session documentaire renvoie document et documentary et laisse les autres champs à null, de sorte que les intégrations existantes n’ont aucune modification à faire. Le type de chaque champ est détaillé dans Modèles de données.

Consentement biométrique

Les décisions de vérification des utilisateurs contiennent un objet biometric_consent : il indique si la session exigeait un consentement biométrique explicite, le trigger qui l’a exigé, le status de la réponse et ses preuves. Deux valeurs indiquent que le consentement n’a pas été recueilli : Le moment où l’étape apparaît et la signification de chaque valeur sont décrits dans Consentement biométrique ; chaque champ figure dans Modèles de données.

Vérification bancaire

Lorsque le workflow comprend une étape Vérification bancaire, la décision contient bank_verifications[], pour les deux types de session : un élément par étape, null tant qu’aucune étape n’en a produit un. Pour distinguer la connexion bancaire de la vérification de compte, lisez method et non ownership.method : ownership.method correspond à la comparaison de noms qui a produit le score. Tous les champs figurent dans le schéma BankVerificationResult de la réponse de cet endpoint.

Signature électronique

Lorsque le workflow comprend une étape Signature électronique, la décision contient signatures[], pour les deux types de session. Elle contient un élément par signataire : un pour une Vérification des utilisateurs, un par personne clé qui signe pour une Vérification d’entreprise (KYB). Les workflows sans cette étape ne renvoient pas la clé. Téléchargez les fichiers à partir des chemins avec votre clé API. Consultez le rapport de signature électronique pour la description de chaque champ.

Erreurs

Liens connexes

Autorisations

x-api-key
string
header
requis

La clé API de votre application, issue de Développeurs -> Clés API dans la Business Console. La clé principale dispose d'un accès complet. Une clé nommée peut être restreinte : aucun, lecture ou écriture par ressource, limitée à certains workflows ou aux sessions approuvées, à une liste d'adresses IP et à une date d'expiration. 401 signifie que la clé est incorrecte, révoquée ou expirée ; 403 signifie qu'aucune clé n'a été envoyée, que la clé n'a pas accès à cette ressource ou action, ou que la requête provient d'une adresse hors de sa liste d'IP ; 404 sur une route de session signifie que la session est hors des workflows ou des statuts de la clé. Une clé sans accès aux médias reçoit les URL d'images, de vidéos et de PDF à null, et une clé sans accès en écriture aux sessions reçoit les liens et tokens de session à null. Voir https://docs.didit.me/console/api-keys.

Paramètres de chemin

sessionId
string<uuid>
requis

UUID de la session de vérification dont vous souhaitez récupérer la décision. Il s'agit du session_id renvoyé par POST /v3/session/. Le même chemin fonctionne pour les sessions de Vérification des utilisateurs (KYC) et de Vérification d'entreprise (KYB) — le serveur résout l'identifiant pour les deux types de session.

Doit être un UUID valide. La route ne correspond qu'aux UUID bien formés ; une valeur malformée est donc rejetée par le routeur d'URL avant l'exécution de tout code d'application et la réponse est une page HTML 404 plutôt que l'enveloppe JSON {"detail": ...} illustrée ci-dessous. Validez le format de l'UUID côté client afin de distinguer une erreur de saisie d'un véritable 404 pour session introuvable.

Exemple:

"11111111-2222-3333-4444-555555555555"

Paramètres de requête

include
enum<string>

Liste séparée par des virgules de sections de payload supplémentaires. Valeurs prises en charge : events et resubmissions, seules ou combinées (events,resubmissions). Lorsque include=events est transmis, la réponse contient en plus la chronologie des événements de session (events, y compris les événements de routage WORKFLOW_BRANCH_EVALUATED / WORKFLOW_STATUS_NODE_REACHED décrits sur la page Récupérer une session), le journal d'activité complet (activity_reviews), les indicateurs de liste de blocage (blocklisted), un détail des coûts par session (cost_breakdown), les métadonnées de workflow (workflow_type, workflow_version, workflow_version_id et workflow_terminal_node_id - le dernier nœud de statut de workflow enregistré ayant défini un statut de session, ou null si aucun n'a été enregistré ; provenance historique qui n'est pas effacée par les approbations, refus ou nouvelles soumissions manuels, et qui est remplacée par un nœud de statut de workflow ultérieur), ainsi que les métadonnées de session (api_service — chaîne ou null, défini uniquement pour les sessions d'API autonome ; session_type — API, HOSTED ou MIGRATED ; has_device_nfc_support — booléen). Deux champs changent par rapport à la structure standard : le discriminateur de niveau supérieur session_kind est omis (la structure avec événements n'existe que pour les sessions utilisateur), et le tableau features passe de chaînes simples à des objets {feature, node_id} — où la fonctionnalité d'e-mail est indiquée comme EMAIL au lieu de EMAIL_VERIFICATION. Cette structure enrichie est principalement utilisée par la console Didit ; la plupart des intégrations d'API doivent omettre ce paramètre. Limitation KYB : include=events ne s'applique qu'aux sessions utilisateur (KYC). Les sessions d'entreprise (session_kind = "business") renvoient toujours la structure de décision d'entreprise standard — events, activity_reviews, blocklisted, cost_breakdown et les métadonnées supplémentaires workflow_*/session ne sont jamais renvoyés pour les sessions d'entreprise, et leur tableau features reste un tableau de chaînes simples. Avec include=resubmissions (sessions utilisateur comme entreprise), la réponse contient également resubmissions : une entrée par demande de nouvelle soumission, de la plus ancienne à la plus récente, chacune avec number, created_at, previous_status, nodes, reasons, requested_by et results (ce que les étapes soumises à nouveau ont renvoyé avant la demande, sous les mêmes clés et dans la même structure que les résultats actuels). Chaque élément de cost_breakdown comporte usage_type, price, details et created_at : une étape soumise à nouveau qui est exécutée une seconde fois est facturée comme un nouvel élément.

Options disponibles:
events,
resubmissions,
events,resubmissions
Exemple:

"events"

Réponse

Rapport de décision complet. session_kind distingue les deux structures : les sessions user contiennent les tableaux de fonctionnalités KYC présentés ci-dessous ; les sessions business contiennent quant à elles registry_checks, document_verifications et key_people_checks aux côtés des tableaux partagés. Les tableaux de fonctionnalités sont null tant que le workflow n'a pas exécuté cette fonctionnalité ; les URL de médias sont des liens présignés à courte durée de validité.

session_id
string<uuid>

L'identifiant unique de la session.

session_kind
enum<string>

Discriminateur indiquant s'il s'agit d'une session de Vérification des utilisateurs (KYC) ou de Vérification d'entreprise (KYB). Lorsque la valeur est user, les tableaux de fonctionnalités KYC (id_verifications, nfc_verifications, liveness_checks, face_matches, poa_verifications, document_ai_documents, database_validations, ...) s'appliquent et les tableaux d'entreprise sont absents. Lorsque la valeur est business, le payload contient à la place registry_checks, document_verifications, key_people_checks ainsi que les tableaux partagés (aml_screenings, phone_verifications, email_verifications, ip_analyses, questionnaire_responses). Omis lorsque include=events est transmis — le format des événements n'existe que pour les sessions utilisateur, le discriminateur est donc supprimé de cette variante.

Options disponibles:
user,
business
shared_from_session
string<uuid> | null

Pour une session clonée avec POST /v3/session/import-shared/ : le session_id de la session d'origine dans l'application source. null pour toute autre session. Omis lorsque include=events est transmis.

shared_from_session_number
integer | null

session_number de la session source lorsque cette session a été importée depuis une autre application de votre organisation. null sinon.

session_number
integer | null

Le numéro de la session.

session_url
string<uri> | null

L'URL de la session.

status
enum<string>

Statut global du cycle de vie de la session — le résultat consolidé du workflow. Les valeurs finales sont Approved, Declined, In Review, Expired, Kyc Expired et Abandoned ; Not Started, In Progress, Awaiting User et Resubmitted indiquent que la session progresse toujours dans le workflow.

Options disponibles:
Not Started,
In Progress,
Awaiting User,
In Review,
Approved,
Declined,
Resubmitted,
Expired,
Kyc Expired,
Abandoned
status_override
object | null

Présent lorsqu'un réviseur a défini manuellement status. null lorsque le statut est le résultat automatique. Utilisez-le pour distinguer une approbation manuelle d'une approbation automatique.

decision_trace
object

Manière dont le statut a été atteint : qui l'a défini et quels avertissements l'ont provoqué.

linked_records
object | null

Un résumé des autres enregistrements liés à la session. null lorsqu'il n'y a rien à afficher, ainsi que pour les workflows déclarant une norme d'assurance de l'âge.

workflow_id
string<uuid> | null

Identifiant stable du groupe de workflows qui a généré cette session. Les workflows sont versionnés — cette valeur identifie le workflow lui-même, et non la version spécifique.

features
string[]

Liste des fonctionnalités de vérification configurées pour cette session, sous forme de noms d'affichage : ID_VERIFICATION, NFC, LIVENESS, FACE_MATCH, POA, PHONE, EMAIL_VERIFICATION, AML, IP_ANALYSIS, DATABASE_VALIDATION, QUESTIONNAIRE, AGE_ESTIMATION, FACE_SEARCH, GEOLOCATION (vérification de la localisation) (les sessions de Vérification d'entreprise (KYB) utilisent l'ensemble de fonctionnalités KYB : KYB_REGISTRY, KYB_DOCUMENTS, KYB_KEY_PEOPLE, AML, PHONE, EMAIL_VERIFICATION, IP_ANALYSIS, QUESTIONNAIRE). Avec include=events, chaque entrée devient un objet {feature, node_id} au lieu d'une simple chaîne, et la fonctionnalité d'e-mail est renommée : elle apparaît sous la forme EMAIL en mode événements au lieu de EMAIL_VERIFICATION utilisé ici.

La fonctionnalité de la session.

vendor_data
string | null

Les données du fournisseur (vendor data) de la session.

metadata
object | null

Les métadonnées de la session.

expected_details
object | null

Informations attendues fournies lors de la création de la session — utilisées pour la validation croisée avec les données extraites (KYC) ou pour préremplir la recherche dans le registre des sociétés (KYB). Renvoie exactement les clés fournies ; null si aucune n'a été fournie. Les sessions KYC contiennent les champs relatifs à la personne ; les sessions de Vérification d'entreprise (KYB) contiennent company_name, registry_country et registration_number.

contact_details
object | null

Coordonnées fournies lors de la création de la session (utilisées pour les e-mails de notification, la vérification préremplie du téléphone/de l'e-mail et la langue de communication). null si aucun e-mail ni numéro de téléphone n'a été fourni.

callback
string<uri> | null

L'URL de rappel de la session.

id_verifications
object[] | null

Tableau de rapports de Vérification d'identité (OCR) produits par les étapes de document d'identité dans le graphe du workflow. Toujours un tableau JSON — lisez id_verifications[0] et itérez si votre workflow peut exécuter plusieurs vérifications d'identité (par exemple une vérification principale plus un contrôle renforcé). null jusqu'à ce qu'au moins une étape d'identité ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, les champs de document extraits, les URL des images, les scores de qualité, la MRZ, l'analyse d'adresse, les correspondances entre sessions et warnings[].

nfc_skip_reason
enum<string> | null

Raison pour laquelle la vérification de la puce NFC n'a pas été exécutée, renseignée chaque fois que le workflow comprend une étape NFC. null tant que le NFC est en attente ou lorsque la puce a effectivement été lue. Valeurs : USER_SKIPPED - l'utilisateur a choisi d'ignorer l'étape sur un appareil compatible NFC (autorisé par allow_nfc_skip) ; DOCUMENT_WITHOUT_CHIP - le document ne possède pas de puce NFC lisible (il ne s'agit pas d'un document électronique ICAO 9303) ; CHIP_CERTIFICATE_UNAVAILABLE - le certificat de signature du pays de délivrance (CSCA) couvrant la période d'émission du document n'est pas disponible, la signature de la puce ne peut donc pas être vérifiée ; DEVICE_WITHOUT_NFC - l'appareil a signalé l'absence de lecteur NFC ; INTEGRATION_WITHOUT_NFC_ACCESS - la vérification s'est exécutée sans SDK natif (par exemple dans un navigateur web), qui n'a pas accès au lecteur NFC du téléphone ; MRZ_KEY_UNAVAILABLE - la clé d'accès à la puce n'a pas pu être dérivée de la MRZ du document ; JPKI_UNAVAILABLE - le document est une carte My Number japonaise, dont la puce est lue via JPKI, et JPKI n'était pas disponible pour cette vérification : il n'est pas activé, ou le SDK natif de l'application ne peut pas lire les cartes My Number.

Options disponibles:
USER_SKIPPED,
DOCUMENT_WITHOUT_CHIP,
CHIP_CERTIFICATE_UNAVAILABLE,
DEVICE_WITHOUT_NFC,
INTEGRATION_WITHOUT_NFC_ACCESS,
MRZ_KEY_UNAVAILABLE,
JPKI_UNAVAILABLE
nfc_verifications
object[] | null

Tableau de rapports NFC / passeport électronique produits par les étapes NFC dans le graphe du workflow. Il s'agit toujours d'un tableau JSON, jamais d'un objet nfc singulier — lisez nfc_verifications[0] et itérez si votre workflow peut effectuer une vérification NFC plus d'une fois. null jusqu'à ce qu'au moins une étape NFC ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, chip_protocol, chip_data, authenticity (intégrité SOD + DG), certificate_summary et warnings[]. Une carte My Number japonaise est lue via JPKI au lieu de l'OACI 9303 : son élément a chip_protocol: "jpki", contient ses preuves sous jpki, et laisse les champs OACI à null. Lorsque l'étape NFC a été ignorée avant même d'avoir pu être proposée (document sans puce, certificat manquant, aucune capacité NFC signalée, clé MRZ illisible, JPKI indisponible pour une carte My Number), cela reste null et nfc_skip_reason en explique la raison ; un contournement au niveau de l'étape elle-même (l'utilisateur a appuyé sur ignorer, ou le lecteur s'est révélé indisponible au moment de la lecture) produit tout de même un rapport avec is_nfc_skipped: true.

liveness_checks
object[] | null

Tableau de rapports de détection du vivant produits par les étapes de détection du vivant dans le graphe du workflow. Toujours un tableau JSON — jamais un objet liveness singulier. null jusqu'à ce qu'au moins une étape de détection du vivant ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, method, score, reference_image, video_url, l'age_estimation facultative, les matches[] entre sessions et warnings[].

face_matches
object[] | null

Tableau de rapports de correspondance faciale produits par les étapes de correspondance faciale dans le graphe du workflow. Toujours un tableau JSON — jamais un objet face_match singulier. null jusqu'à ce qu'au moins une étape de correspondance faciale ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, le score de similarité, source_image, target_image et warnings[].

phone_verifications
object[] | null

Tableau de rapports de vérification du téléphone — toujours un tableau JSON, jamais un objet phone singulier. null jusqu'à ce qu'au moins une étape de vérification du téléphone ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, le numéro de téléphone et les métadonnées de pays, lifecycle[], matches[] et warnings[].

email_verifications
object[] | null

Tableau de rapports de vérification d'e-mail — toujours un tableau JSON, jamais un objet email singulier. null jusqu'à ce qu'au moins une étape d'e-mail ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, l'adresse e-mail, les données de compromission, lifecycle[], matches[] et warnings[].

poa_verifications
object[] | null

Tableau de rapports de Justificatif de domicile (POA) — toujours un tableau JSON, jamais un objet poa singulier. null jusqu'à ce qu'au moins une étape POA ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, l'URL du fichier du document, l'émetteur, les dates, l'adresse analysée et warnings[].

document_ai_documents
object[] | null

Rapports Document AI regroupés par nœud de workflow — toujours un tableau JSON, jamais un objet unique. null jusqu'à ce qu'au moins une étape Document AI ait produit des données. Présents uniquement lorsque session_kind = user. Chaque élément est un groupe de nœuds avec un status global, le node_id, un tableau items[] des résultats par document (données extraites indexées par la clé de champ configurée), et warnings.

questionnaire_responses
object[] | null

Tableau de rapports de réponses aux questionnaires — toujours un tableau JSON, jamais un objet questionnaire singulier. null jusqu'à ce qu'au moins une étape de questionnaire ait produit des données. Chaque élément est le rapport complet, comprenant node_id, les métadonnées du questionnaire, les sections avec les éléments de formulaire et les réponses de l'utilisateur.

bank_verifications
object[] | null

Résultats de la vérification bancaire, un élément par étape de vérification bancaire, pour la Vérification des utilisateurs et la Vérification d'entreprise (KYB). null jusqu'à ce qu'une étape en produise un. Le champ method de chaque élément indique comment le compte a été vérifié : open_banking (connexion bancaire) ou account_lookup (vérification de compte), ou une solution de repli statement ou microdeposits, et none lorsque la personne a continué sans banque avant qu'une tentative ne soit évaluée (continued_without_bank). Voir Méthodes de vérification bancaire.

signatures
object[]

Résultats de la Signature électronique, un élément par signataire et par étape de signature, pour la Vérification des utilisateurs et la Vérification d'entreprise. Présent uniquement lorsque le workflow comprend une étape de Signature électronique ; tableau vide jusqu'à ce qu'un signataire l'atteigne. Voir le rapport de Signature électronique.

aml_screenings
object[] | null

Tableau de rapports de filtrage AML — toujours un tableau JSON, jamais un objet aml unique. null jusqu'à ce qu'au moins une étape AML ait produit des données. Chaque élément est le rapport complet, incluant node_id, le status au niveau de la fonctionnalité, total_hits, entity_type, hits[], score, screened_data, is_ongoing_monitoring_enabled et warnings[].

ip_analyses
object[] | null

Tableau de rapports d'Analyse de l'appareil et de l'IP — toujours un tableau JSON, jamais un objet ip_analysis singulier. null jusqu'à ce qu'au moins une étape d'analyse IP ait produit des données. Chaque élément est le rapport complet, comprenant node_id, le status au niveau de la fonctionnalité, les données IP et de géolocalisation, l'empreinte de l'appareil et warnings[]. Les entrées présentant un doublon (node_id, ip_address, device_fingerprint) sont dédupliquées côté serveur.

geolocation_checks
object[] | null

Tableau de résultats de vérification de localisation, un par étape de vérification de localisation : la tentative acceptée de cette étape. null jusqu'à ce qu'une étape de vérification de localisation ait produit des données. Les tentatives antérieures de la même étape se trouvent dans geolocation_attempts.

geolocation_attempts
object[] | null

Chaque tentative de chaque étape de vérification de localisation de cette session, de la plus ancienne à la plus récente. Les tentatives remplacées par une nouvelle soumission sont exclues. Un workflow qui masque geolocation_checks via ses attributs de réponse masque également cette liste.

database_validations
object[] | null

Tableau de rapports de Validation en base de données — toujours un tableau JSON, jamais un objet database_validation singulier. null jusqu'à ce qu'au moins une étape de validation en base de données ait produit des données. Chaque élément correspond au rapport complet, incluant node_id, le status au niveau de la fonctionnalité, screened_data, les validations[] par service (chacune avec son source_data de registre) et warnings[]. Les champs screened_data et source_data varient selon le pays :

ARG (Argentine) : screened_data : {document_number, selfie, gender, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, date_of_birth, date_of_death, tax_id, tax_id_type, face_match_score, sit_1_since, banks, last_position, highest_position, rejected_checks}. Utilise la validation biométrique par correspondance faciale de RENAPER. Le genre est automatiquement déduit de l'analyse du visage ou du prénom lorsqu'il n'est pas présent sur le document (ex. permis de conduire)

BOL (Bolivie) : screened_data : {document_number, date_of_birth, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, date_of_birth, gender}

BRA (Brésil) : screened_data : {tax_number, first_name, last_name, date_of_birth}. source_data inclut toujours {identification_number, first_name, last_name, date_of_birth, lgpd_minor, minor_under_18, minor_under_16} pour les correspondances CPF réussies. Les recherches réussies pour les adultes définissent ces indicateurs à false. Le service Consulta CPF de la Receita Federal peut renvoyer HTTP 422 (mineur de moins de 18 ans) ou 451 (moins de 16 ans) avec des données retenues en vertu de la LGPD ; dans ces cas, source_data définit les indicateurs de minorité à true selon le cas, inclut le statut HTTP en amont, et la validation au niveau du champ est no_match. Consultez la section Brésil de la référence des codes de résultat de la Validation en base de données pour la liste complète des codes.

CHL (Chili) : screened_data : {personal_number, first_name, last_name, date_of_birth}. source_data : {identification_number, first_name, last_name, date_of_birth, gender}

COL (Colombie) : screened_data : {document_number, document_type, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, date_of_birth, document_type}

CRI (Costa Rica) : screened_data : {personal_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

DOM (République dominicaine) : screened_data : {personal_number}. source_data : {identification_number} (renvoie valid/invalid uniquement)

ECU (Équateur) : screened_data : {personal_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, street, formatted_address, gender, nationality, education, marital_status, spouse, mother_name, father_name, profession}

ESP (Espagne) : screened_data : {personal_number, document_type, expiration_date, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, document_type, expiration_date}

GTM (Guatemala) : screened_data : {document_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

HND (Honduras) : screened_data : {document_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

MEX (Mexique) : screened_data : {personal_number (CURP), first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, date_of_birth, gender, nationality, curp_status, state_of_birth, doc_probatorio, registration_year, registration_state, registration_municipality, num_acta, crip, issuing_state_code, foreign_registry_number, folio_carta, folio_certificado}. Utilise le registre d'état civil RENAPO. Un service distinct de vérification de validité INE est également disponible pour MEX en tant que validation supplémentaire individuelle.

PAN (Panama) : screened_data : {personal_number, selfie}. source_data : {identification_number}. Utilise la validation biométrique SIB

PER (Pérou) : screened_data : {personal_number (DNI), first_name, last_name}. source_data : {identification_number, first_name, last_name, paternal_name, maternal_name, verification_number, verification_letter}

PRY (Paraguay) : screened_data : {document_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

SLV (Salvador) : screened_data : {document_number, date_of_birth, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

URY (Uruguay) : screened_data : {personal_number, date_of_birth, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name}

VEN (Venezuela) : screened_data : {document_number, first_name, last_name}. source_data : {identification_number, first_name, last_name, full_name, gender, date_of_birth, document_type}

database_validation_not_performed_reason
object | null

Raison pour laquelle une validation en base de données configurée n'a produit aucun résultat, sous la forme {code, message} plus des champs de contexte. Présent uniquement lorsque database_validations est null pour un workflow comportant cette étape, afin de pouvoir distinguer « le registre a validé » de « rien n'a été exécuté ». null dans le cas contraire.

reviews
object[]
assignee
object | null

Le réviseur de la Console auquel la session est assignée, ou null si personne ne la détient.

waiting_since
string<date-time> | null

Moment où la session a commencé à attendre un examen. null sauf si la session est In Review et que votre application définit un délai d'examen.

sla_due_at
string<date-time> | null

Date limite de l'examen. null sauf si la session est In Review et que votre application définit une date limite d'examen.

created_at
string<date-time>

Horodatage de création de la session (ISO 8601, UTC).

expires_at
string<date-time> | null

Horodatage auquel l'expiration de cette session est planifiée. Défini sur les sessions de vérification des utilisateurs (KYC) lorsqu'une expiration a été configurée lors de la création (ou une fois que le statut Approved déclenche le calcul de l'expiration du KYC). null pour les sessions sans expiration configurée, et pour les types qui n'utilisent pas d'expiration (par ex. les sessions de vérification d'entreprise (KYB) qui n'ont jamais reçu d'expires_at).

registry_checks
object[] | null

Vérifications au registre des sociétés. Présent uniquement lorsque session_kind = business. Chaque élément encapsule le payload complet du registre des sociétés.

key_people_checks
object[] | null

Vérifications agrégées des personnes clés. Présent uniquement lorsque session_kind = business. Chaque élément utilise la structure à deux compartiments (registry, submitted, ubo_kyc_summary).

document_verifications
object[] | null

Vérifications de documents groupées par nœud de workflow. Présentes uniquement lorsque session_kind = business.

environment
enum<string>

Indique si la session a été créée par une application de production (live) ou une application sandbox (sandbox). Les sessions sandbox sont gratuites, entièrement simulées et ne consomment jamais de crédits.

Options disponibles:
live,
sandbox
sandbox_scenario
string | null

Le scénario sandbox avec lequel la session a été créée. null pour les sessions de production et pour les sessions sandbox créées sans scénario.

resubmissions
object[]

Renvoyé uniquement avec include=resubmissions, pour les sessions utilisateur et d'entreprise. Une entrée par demande de resoumission, de la plus ancienne à la plus récente. Chaque entrée contient les résultats renvoyés par les étapes resoumises avant la demande, afin que les soumissions antérieures restent consultables. La suppression de la session supprime toutes les soumissions.

Indique si la session a requis un consentement biométrique explicite avant une capture de visage, pour quelle raison, ainsi que la preuve de la réponse. Sessions de Vérification des utilisateurs (KYC) uniquement ; le même objet figure dans la decision des webhooks de session. Vaut null lorsque la session n'a jamais été évaluée, par exemple un workflow sans capture de visage. Les champs sans valeur enregistrée sont à null. Un SDK natif inférieur à 4.10.0, ou qui ne transmet pas sa version, ne peut pas afficher l'étape de consentement : ses captures faciales s'exécutent comme auparavant, et une session ayant nécessité un consentement signale alors status: "pending" avec reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK". Voir Consentement biométrique.

investigator
object | null

Le dernier examen Investigator de l'élément, ou null s'il n'en a jamais eu. Porté par la décision de session V3 et de session d'entreprise (et donc par les webhooks status.updated).

biometric_retention
object

Moment où les données biométriques en direct de cette session sont supprimées.

fraud_check
object | null

Le résultat d'un appel à l'API Fraud Check. null pour toute autre session.

full_session_video
string<uri> | null

URL temporaire de l'enregistrement complet de la session. Renvoyée uniquement lorsque votre organisation enregistre la vidéo complète de la session.

full_session_video_recorded_at
string<date-time> | null

Date et heure d'enregistrement de la session complète. Renvoyé uniquement lorsque votre organisation enregistre la vidéo complète de la session.

Dernière modification le 7 novembre 2026