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
user_image
file
requis

Image d'un visage vivant ou d'un visage candidat à vérifier (p. ex. un selfie). Soumettez une seule photo de face avec le visage du sujet clairement visible et bien éclairé. Extensions autorisées : tiff, jpg, jpeg, png, webp. Taille maximale de téléversement : 5 MB (les fichiers plus volumineux sont rejetés avec 400). Les images sont automatiquement compressées à environ 0,5 MB avant le traitement, de sorte que des résolutions très élevées n'améliorent pas la précision.

ref_image
file
requis

Image faciale de référence à comparer (par ex. un portrait de pièce d'identité ou une photo enregistrée au préalable). Même format et mêmes limites de taille que pour user_image.

face_match_score_decline_threshold
number<float>
défaut:30

Seuil de similarité (0–100) qui détermine le status de la réponse. Un score calculé inférieur ou égal à cette valeur définit status sur Declined et ajoute un avertissement LOW_FACE_MATCH_SIMILARITY ; un score strictement supérieur renvoie Approved. La valeur par défaut de 30 est permissive — augmentez-la (par ex. 50–60) pour une vérification plus stricte. Les valeurs en dehors de 0–100 renvoient 400.

Plage requise: 0 <= x <= 100
Exemple:

50

rotate_image
boolean
défaut:false

Lorsque la valeur est true, le service teste les images fournies par incréments de 90 degrés (0, 90, 180, 270) et utilise l'orientation qui produit la meilleure détection faciale — utile pour les captures mobiles sans orientation EXIF. Ajoute de la latence, ne l'activez donc que si vous ne pouvez pas garantir des images dans le bon sens.

Exemple:

false

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é, et notifiée via un webhook status.updated. 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":"login"}) — il est analysé sous forme d'objet.

Exemple:

Réponse

Correspondance faciale calculée. face_match.score est un nombre flottant compris entre 0 et 100 (deux décimales) ; status est Approved lorsque le score est strictement supérieur à face_match_score_decline_threshold, sinon Declined avec un avertissement explicatif. Une faible similarité ou une paire non évaluable renvoie toujours 200 — inspectez face_match.status et face_match.warnings, pas seulement le code HTTP. Lorsque save_api_request=true, request_id est l'identifiant de la session conservé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.

face_match
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, ex. 2026-06-12T01:04:42.763237+00:00.

Dernière modification le 7 novembre 2026