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 du visage de face (par exemple un selfie). Extensions autorisées : tiff, jpg, jpeg, png, webp. Taille maximale de téléversement : 5 MB (les fichiers plus volumineux sont rejetés avec une erreur 400). Les images sont automatiquement compressées à ~0.5 MB avant traitement, de sorte que les très hautes résolutions n'améliorent pas la précision. L'image doit contenir un seul sujet — lorsque plusieurs visages sont présents, le plus grand est évalué et un avertissement MULTIPLE_FACES_DETECTED est ajouté.

face_liveness_score_decline_threshold
number<float>
défaut:30

Seuil du score de détection du vivant (0–100). Un score calculé inférieur ou égal à cette valeur émet un avertissement LOW_LIVENESS_SCORE et définit status sur Declined. Valeur par défaut 30 ; augmentez-la pour une posture anti-usurpation plus stricte. Les valeurs en dehors de 0–100 renvoient 400.

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

30

rotate_image
boolean
défaut:false

Lorsque la valeur est true, le service applique des rotations de 90 degrés à l'image fournie et utilise l'orientation qui produit la meilleure détection faciale. Utile lorsque l'orientation EXIF est manquante. Ajoute de la latence.

Exemple:

false

save_api_request
boolean
défaut:true

Lorsque la valeur est true (par défaut), conserve l'appel sous forme de session de type API, stocke les images de visage, émet un webhook status.updated et enregistre le visage détecté dans votre index de recherche faciale. Lorsque la valeur est false, l'appel est ponctuel — rien n'est stocké et le visage n'est pas enregistré. Le filtrage par liste de blocage et la détection des doublons s'exécutent dans les deux cas.

Exemple:

true

vendor_data
string

Identifiant opaque optionnel (votre identifiant d'utilisateur, e-mail, UUID…) stocké sur la session persistée et renvoyé. Également utilisé pour exclure les sessions antérieures avec le même vendor_data de la vérification de visage en double, afin que la revérification du même utilisateur ne déclenche pas DUPLICATED_FACE.

Exemple:

"user-123"

metadata
object

Objet JSON optionnel stocké avec la session (lorsque save_api_request=true) et renvoyé. Dans les requêtes multipart, envoyez-le sous forme de champ textuel encodé en JSON — il est analysé sous forme d'objet.

Exemple:

Réponse

Détection passive du vivant terminée. liveness.score est la confiance de 0 à 100 du modèle indiquant que l'image montre une personne vivante ; status est Approved sauf si un avertissement de gravité error a été déclenché. Un visage usurpé ou sur liste de blocage renvoie tout de même 200 — examinez liveness.status et liveness.warnings, et pas seulement le code HTTP. Lorsque save_api_request=true, request_id est l'identifiant de session conservé.

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.

liveness
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