Vai al contenuto principale
POST
cURL

Autorizzazioni

x-api-key
string
header
obbligatorio

La chiave API della tua applicazione, da Developers -> API keys nella Business Console. La chiave primaria ha accesso completo. Una chiave con nome può avere un ambito definito: nessuno, lettura o scrittura per risorsa, limitata ad alcuni workflow o a sessioni approvate, a un elenco di indirizzi IP e a una data di scadenza. 401 indica che la chiave è errata, revocata o scaduta; 403 indica che non è stata inviata alcuna chiave, che la chiave non ha accesso a questa risorsa o azione, oppure che la richiesta proviene da un indirizzo non incluso nel suo elenco IP; 404 su una route di sessione indica che la sessione non rientra nei workflow o negli stati previsti dalla chiave. Una chiave senza accesso ai media riceve gli URL di immagini, video e PDF come null, e una chiave senza permessi di scrittura sulle sessioni riceve link e token di sessione come null. Consulta https://docs.didit.me/console/api-keys.

Corpo

multipart/form-data
user_image
file
obbligatorio

Foto del volto da analizzare (ad es. un selfie). Invia una singola foto frontale con il volto del soggetto chiaramente visibile e ben illuminato. Estensioni consentite: tiff, jpg, jpeg, png, webp (nessun PDF). Dimensione massima di caricamento: 5 MB (i file più grandi vengono rifiutati con 400). Le immagini vengono compresse automaticamente a circa 0,3 MB prima dell'elaborazione, pertanto risoluzioni molto elevate non migliorano l'accuratezza.

face_liveness_score_decline_threshold
number<float>
predefinito:30

Soglia di rilevamento della vitalità (0–100). Un punteggio (score) di vitalità pari o inferiore a questo valore aggiunge un avviso LOW_LIVENESS_SCORE e rifiuta. Aumentala per un livello anti-spoofing più restrittivo; i valori non compresi tra 0 e 100 restituiscono 400.

Intervallo richiesto: 0 <= x <= 100
Esempio:

30

age_estimation_decline_threshold
integer
predefinito:18

Età stimata minima accettabile in anni. Un'età stimata inferiore a questo valore aggiunge un avviso AGE_BELOW_MINIMUM e rifiuta la verifica. Imposta 0 per disattivare il controllo dell'età (la chiamata eseguirà quindi solo rilevamento della vitalità + stima dell'età senza una decisione basata sull'età).

Intervallo richiesto: 0 <= x <= 100
Esempio:

18

rotate_image
boolean
predefinito:false

Quando è true, il servizio prova l'immagine di input con incrementi di 90 gradi (0, 90, 180, 270) e utilizza l'orientamento che offre il miglior rilevamento del volto; utile per le acquisizioni da dispositivo mobile prive di orientamento EXIF. Aggiunge latenza, quindi attivalo solo se non puoi garantire immagini orientate correttamente.

Esempio:

false

save_api_request
boolean
predefinito:true

Quando è true (predefinito), rende persistente la chiamata come sessione di tipo API — visibile nella Business Console, recuperabile tramite GET /v3/session/{sessionId}/decision/ utilizzando il request_id restituito, notificata tramite un webhook status.updated, e con il volto rilevato aggiunto all'indice dei volti della tua applicazione. Quando è false, non viene memorizzato nulla e request_id è un UUID temporaneo utilizzabile solo per la correlazione della risposta.

Esempio:

true

vendor_data
string

Stringa opaca opzionale (il tuo ID utente interno, email, UUID...) memorizzata nella sessione persistita e restituita nella risposta. Usala per correlare le chiamate API con i tuoi record e per filtrare le sessioni in un secondo momento.

Esempio:

"user-123"

metadata
object

Oggetto JSON opzionale memorizzato con la sessione (quando save_api_request=true) e restituito nella risposta. Nelle richieste multipart, invialo come campo stringa con codifica JSON (ad es. metadata={"flow":"age-gate"}): viene interpretato come oggetto.

Esempio:

Risposta

Stima dell'età e vitalità passiva completate. age_estimation.age_estimation è l'età prevista dal modello in anni del volto più grande rilevato (null se assente); age_estimation.score è il punteggio di vitalità passiva (0–100); status è Approved solo quando warnings è vuoto. Un'acquisizione di un minore o contraffatta restituisce comunque 200 con status: "Declined" — ispeziona il corpo della risposta, non solo il codice HTTP. Quando save_api_request=true, request_id è l'ID di sessione persistito.

request_id
string<uuid>

ID della sessione salvata quando save_api_request=true (utilizzabile con GET /v3/session/{sessionId}/decision/); altrimenti un UUID di correlazione temporaneo.

age_estimation
object
vendor_data
string | null

Eco del vendor_data inviato, o null.

metadata
object | null

Eco dell'oggetto metadata inviato, o null.

created_at
string<date-time>

Timestamp ISO 8601 (UTC) di generazione della risposta.

Ultima modifica il 7 novembre 2026