Passer au contenu principal
POST
cURL

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.

Corps

multipart/form-data
document
file
requis

Le justificatif de domicile. Extensions autorisées : tiff, jpg, jpeg, png, pdf, webp. Taille maximale de téléversement : 15 MB (les fichiers plus volumineux sont rejetés avec un code 400). Les fichiers PDF multipages sont pris en charge (attendez-vous à une latence plus élevée) ; les PDF chiffrés nécessitent document_password. Les images sont automatiquement compressées avant le traitement.

document_password
string
write-only

Mot de passe pour déchiffrer document lorsqu'il s'agit d'un PDF chiffré. L'envoi d'un PDF chiffré sans mot de passe (ou avec un mot de passe incorrect) renvoie 400.

expected_address
string

Adresse à vérifier par rapport au document. Elle est géocodée et comparée à l'adresse extraite ; une discordance (ou une adresse attendue qui ne peut être géocodée/vérifiée) ajoute ADDRESS_MISMATCH_WITH_PROVIDED, selon poa_address_mismatch_action. La forme géocodée est renvoyée dans expected_details_formatted_address / expected_details_parsed_address.

Exemple:

"Av. Monseñor Tavella 1291, Salta, Argentina"

expected_country
string

Pays à vérifier par rapport au document (code ISO 3166-1, par ex. ARG ou AR). Une discordance avec le pays du document ajoute POA_COUNTRY_MISMATCH_WITH_PROVIDED, régi par poa_address_mismatch_action.

Exemple:

"ARG"

expected_first_name
string

Prénom à vérifier par rapport à name_on_document (recherche floue, tenant compte de la translittération). Un score inférieur au seuil de correspondance ajoute NAME_MISMATCH_WITH_PROVIDED, régi par poa_address_mismatch_action.

Exemple:

"Sophia"

expected_last_name
string

Nom de famille à vérifier par rapport à name_on_document, combiné avec expected_first_name pour le score de correspondance.

Exemple:

"Martinez"

poa_languages_allowed
string

Liste séparée par des virgules des langues acceptées pour le document sous forme de codes ISO 639-1 (par ex. en,es,fr). En cas d'omission ou si elle est vide, l'ensemble des 51 langues prises en charge est accepté. Un document dans une langue hors de cette liste ajoute UNSUPPORTED_DOCUMENT_LANGUAGE (régi par poa_unsupported_language_action) ; un code inconnu dans la liste renvoie 400 avec l'ensemble complet des codes pris en charge.

Exemple:

"en,es"

poa_document_age_months
string

Paires key:value séparées par des virgules définissant l'âge maximal du document en mois par type de document — clés : utility_bill, bank_statement, government_issued_document, other_poa_document ; valeurs : 1–120, ou -1 pour illimité (pas de vérification d'âge). Valeurs par défaut en cas d'omission : utility_bill:3,bank_statement:3,government_issued_document:12,other_poa_document:12. Un document plus ancien que sa limite entraîne un refus avec POA_DOCUMENT_EXPIRED. Attention : lorsque vous fournissez ce champ, listez chaque type accepté — les types omis sont traités comme non acceptés (POA_DOCUMENT_NOT_SUPPORTED_FOR_APPLICATION d'ordre informatif) et leur vérification d'âge est ignorée.

Exemple:

"utility_bill:3,bank_statement:6"

poa_name_mismatch_action
enum<string>
défaut:DECLINE

Accepté mais actuellement non appliqué — les avertissements de non-concordance de nom (NAME_MISMATCH_WITH_PROVIDED) suivent poa_address_mismatch_action à la place. Définissez poa_address_mismatch_action pour contrôler à la fois le comportement de non-concordance de nom et d'adresse.

Options disponibles:
DECLINE,
NO_ACTION
poa_document_issues_action
enum<string>
défaut:DECLINE

Ce qu'il faut faire en cas de problème d'intégrité de fichier — en pratique, seul DOCUMENT_METADATA_MISMATCH est produit par cet endpoint.

Options disponibles:
DECLINE,
NO_ACTION
poa_document_authenticity_action
enum<string>
défaut:DECLINE

Ce qu'il faut faire lorsqu'une manipulation de document est suspectée (SUSPECTED_DOCUMENT_MANIPULATION) — par exemple si le PDF a été modifié après signature numérique, traité par un éditeur PDF connu, présente une manipulation de texte superposé ou des dates EXIF incohérentes. Régit également POA_DOCUMENT_UNPROVEN_TEXT_REPLACEMENT (un champ de texte retapé dont le fichier ne peut prouver la modification ou l'absence de modification) : DECLINE le refuse également, NO_ACTION le conserve comme un avertissement.

Options disponibles:
DECLINE,
NO_ACTION
poa_unsupported_language_action
enum<string>
défaut:DECLINE

Que faire lorsque la langue du document n'appartient pas à poa_languages_allowed (UNSUPPORTED_DOCUMENT_LANGUAGE).

Options disponibles:
DECLINE,
NO_ACTION
poa_address_mismatch_action
enum<string>
défaut:DECLINE

Que faire lorsque les détails extraits ne correspondent pas aux champs expected_* : ADDRESS_MISMATCH_WITH_PROVIDED, NAME_MISMATCH_WITH_PROVIDED et POA_COUNTRY_MISMATCH_WITH_PROVIDED suivent tous cette action.

Options disponibles:
DECLINE,
NO_ACTION
poa_issuer_not_identified_action
enum<string>
défaut:DECLINE

Ce qu'il faut faire lorsqu'aucune entreprise ou organisation émettrice ne peut être identifiée sur le document (ISSUER_NOT_IDENTIFIED).

Options disponibles:
DECLINE,
NO_ACTION
save_api_request
boolean
défaut:true

Lorsque la valeur est true (par défaut), conserve l'appel sous la forme d'une session de type API — visible dans la Business Console, récupérable via GET /v3/session/{sessionId}/decision/ à l'aide du request_id renvoyé, notifiée via un webhook status.updated, et avec le document importé stocké. Lorsque la valeur est false, rien n'est stocké et request_id est un UUID éphémère servant uniquement à la corrélation des réponses.

Exemple:

true

vendor_data
string

Chaîne opaque optionnelle (votre identifiant d'utilisateur interne, e-mail, UUID…) stockée sur la session persistée et renvoyée dans la réponse. Utilisez-la pour corréler les appels d'API avec vos propres enregistrements et pour filtrer les sessions ultérieurement.

Exemple:

"user-123"

metadata
object

Objet JSON optionnel stocké avec la session (lorsque save_api_request=true) et renvoyé dans la réponse. Dans les requêtes multipart, envoyez-le sous forme de champ textuel encodé en JSON (par ex. metadata={"flow":"onboarding"}) — il est analysé sous forme d'objet.

Exemple:

Réponse

Document traité. poa.status est Approved ou Declined ; chaque problème détecté est détaillé dans poa.warnings. Un document expiré, non concordant ou suspect renvoie tout de même 200 avec status: "Declined" — inspectez le corps de la réponse, pas seulement le code HTTP. Lorsque save_api_request=true, request_id est l'identifiant de la session enregistrée.

request_id
string<uuid>

Identifiant de session persistante lorsque save_api_request=true (utilisable avec GET /v3/session/{sessionId}/decision/) ; sinon un UUID de corrélation temporaire.

poa
object
vendor_data
string | null

Écho des vendor_data que vous avez envoyées, ou null.

metadata
object | null

Écho de l'objet metadata que vous avez envoyé, ou null.

created_at
string<date-time>

Horodatage ISO 8601 (UTC) du moment où la réponse a été générée.

Dernière modification le 7 novembre 2026