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

Photo de visage à analyser (par 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 (pas de PDF). 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,3 MB avant le traitement, de sorte que de très hautes résolutions n'améliorent pas la précision.

face_liveness_score_decline_threshold
number<float>
défaut:30

Seuil de détection du vivant (0–100). Un score de détection du vivant inférieur ou égal à cette valeur ajoute un avertissement LOW_LIVENESS_SCORE et refuse la vérification. Augmentez-le pour un anti-usurpation plus strict ; les valeurs en dehors de 0–100 renvoient 400.

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

30

age_estimation_decline_threshold
integer
défaut:18

Âge estimé minimum acceptable en années. Un âge estimé inférieur à cette valeur ajoute un avertissement AGE_BELOW_MINIMUM et refuse la vérification. Définissez 0 pour désactiver la vérification de l'âge (l'appel exécute alors uniquement la détection du vivant + l'estimation de l'âge sans décision basée sur l'âge).

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

18

rotate_image
boolean
défaut:false

Lorsque la valeur est true, le service teste l'image fournie 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é, notifiée via un webhook status.updated, et avec le visage détecté ajouté à l'index facial de votre application. 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":"age-gate"}) — il est analysé sous forme d'objet.

Exemple:

Réponse

Estimation de l'âge et détection passive du vivant terminées. age_estimation.age_estimation est l'âge en années prédit par le modèle pour le plus grand visage détecté (null si aucun) ; age_estimation.score est le score de détection passive du vivant (0–100) ; status est Approved uniquement lorsque warnings est vide. Une capture de personne mineure ou usurpée renvoie tout de même 200 avec status: "Declined" : inspectez le corps, pas seulement le code HTTP. Lorsque save_api_request=true, request_id est l'identifiant de session enregistré.

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.

age_estimation
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