Saltar al contingut principal
POST
cURL

Autoritzacions

x-api-key
string
header
requerit

La clau d'API de la teva aplicació, des de Developers -> API keys a la Business Console. La clau primària té accés complet. Una clau amb nom pot tenir l'abast limitat: cap, lectura o escriptura per recurs, limitada a determinats fluxos de treball o a sessions aprovades, a una llista d'adreces IP i a una data de caducitat. 401 significa que la clau és incorrecta, revocada o caducada; 403 significa que no s'ha enviat cap clau, que la clau no té accés a aquest recurs o acció, o que la sol·licitud prové d'una adreça fora de la seva llista d'IP; 404 en una ruta de sessió significa que la sessió està fora dels fluxos de treball o estats de la clau. Una clau sense accés a fitxers multimèdia rep els URL d'imatge, vídeo i PDF com a null, i una clau sense permís d'escriptura de sessions rep els enllaços de sessió i els tokens com a null. Consulta https://docs.didit.me/console/api-keys.

Cos

multipart/form-data
front_image
file
requerit

Anvers del document d'identitat. Extensions permeses: tiff, jpg, jpeg, png, webp, pdf. Mida màxima de càrrega: 10 MB (els fitxers més grans es rebutgen amb 400). Els PDF es renderitzen a una imatge abans de l'OCR; els PDF xifrats requereixen front_image_password. Les imatges es comprimeixen automàticament a ~0.5 MB i s'aplica l'orientació EXIF. Carrega la captura completa, sense retallar, amb les quatre cantonades del document visibles.

front_image_password
string
write-only

Contrasenya per desxifrar front_image quan és un PDF xifrat. Enviar un PDF xifrat sense contrasenya (o amb una d'incorrecta) retorna 400.

back_image
file

Revers del document — envia'l sempre que el document en tingui (molts documents d'identitat porten la MRZ o un codi de barres al darrere; ometre'l simplement deixa buits la MRZ i els camps del revers a la resposta — aquest endpoint no genera cap advertència de MRZ absent). Mateix format i límits de mida que front_image. Si s'omet, back_image i els camps del revers són null a la resposta.

back_image_password
string
write-only

Contrasenya per desxifrar back_image quan és un PDF xifrat.

perform_document_liveness
boolean
predeterminat:true

Analitza ambdues imatges a la cerca d'atac de presentació: reproduccions en pantalla (SCREEN_CAPTURE_DETECTED), còpies impreses (PRINTED_COPY_DETECTED) i manipulació de retrats (PORTRAIT_MANIPULATION_DETECTED). Qualsevol d'aquests es rebutja automàticament. Activat per defecte; defineix-ho com a false per ometre l'anàlisi de frau i reduir la latència. Quan està activat i el proveïdor no retorna cap puntuació utilitzable, la resposta és In Review amb una advertència DOCUMENT_LIVENESS_NOT_COMPUTED en lloc d'Approved.

Exemple:

true

minimum_age
integer | null

S'accepta i es valida (1–120), però actualment aquest endpoint no ho aplica; mai no genera una advertència MINIMUM_AGE_NOT_MET a partir d'aquest camp. Aplica les regles d'edat a partir del date_of_birth/age retornat, o utilitza un flux de treball de sessió de verificació amb restriccions d'edat.

Rang requerit: 1 <= x <= 120
expiration_date_not_detected_action
enum<string>
predeterminat:NO_ACTION

Què fer quan no es pot llegir cap data de caducitat (EXPIRATION_DATE_NOT_DETECTED). Per defecte és NO_ACTION perquè molts documents d'identitat no imprimeixen data de caducitat. Nota: una data de caducitat detectada i vençuda sempre es rebutja (DOCUMENT_EXPIRED), independentment d'aquesta opció.

Opcions disponibles:
NO_ACTION,
DECLINE
invalid_mrz_action
enum<string>
predeterminat:DECLINE

Què fer quan el MRZ extret no supera la validació del dígit de control (MRZ_VALIDATION_FAILED). Un MRZ absent no genera cap advertència en aquest endpoint. Només és rellevant per a documents que incloguin un MRZ. REVIEW no s'admet en aquest endpoint i retorna 400.

Opcions disponibles:
NO_ACTION,
DECLINE
inconsistent_data_action
enum<string>
predeterminat:DECLINE

Què fer quan les dades extretes són internament incoherents: DATA_INCONSISTENT, MRZ_AND_DATA_EXTRACTED_FROM_OCR_NOT_SAME (la zona visual no coincideix amb la MRZ) o DOCUMENT_NAME_DIFFERENT_FROM_OTHER_APPROVED_DOCUMENTS.

Opcions disponibles:
NO_ACTION,
DECLINE
critical_field_occlusion_action
enum<string>
predeterminat:DECLINE

Què fer quan un camp imprès crític s'ha tapat físicament a la captura (CRITICAL_FIELD_OCCLUSION_DETECTED) - un número d'identitat, un nom, la data de naixement o la data de caducitat. Es rebutja per defecte, igual que els altres riscos d'integritat del document d'aquest endpoint: tapar els números amb què es concilia un informe és el que sembla un document redactat o ocultat. El valor llegit d'un camp tapat es descarta de l'extracció en qualsevol cas, de manera que l'advertència *_NOT_DETECTED corresponent sol acompanyar-lo. REVIEW no s'admet en aquest endpoint i retorna 400.

Opcions disponibles:
NO_ACTION,
DECLINE
document_or_personal_number_format_mismatch_action
enum<string>
predeterminat:NO_ACTION

Què fer quan un número no coincideix amb el format que la seva autoritat emissora utilitza per a aquest tipus de document (DOCUMENT_NUMBER_FORMAT_MISMATCH, PERSONAL_NUMBER_FORMAT_MISMATCH). Per defecte és NO_ACTION, que informa de l'advertència sense canviar l'estat. REVIEW no s'admet en aquest endpoint i retorna 400.

Opcions disponibles:
NO_ACTION,
DECLINE
preferred_characters
enum<string>
predeterminat:latin

Sistema d'escriptura preferit per als camps de nom/adreça en documents que imprimeixen text tant llatí com no llatí (àrab, ciríl·lic, CJK, …). latin retorna valors transliterats/llatins; non_latin prefereix el sistema d'escriptura natiu.

Opcions disponibles:
latin,
non_latin
save_api_request
boolean
predeterminat:true

Quan és true (per defecte), manté la crida com una sessió de tipus API — visible a la Business Console, recuperable mitjançant GET /v3/session/{sessionId}/decision/ utilitzant el request_id retornat, anunciada a través d'un webhook status.updated i amb les imatges del document retornades com a URL de mitjans. Quan és false, no s'emmagatzema res, request_id és un UUID transitori i les imatges es retornen integrades com a cadenes JPEG en base64.

Exemple:

true

vendor_data
string

Cadena opaca opcional (el teu ID d'usuari intern, correu electrònic, UUID…) desada a la sessió persistent i retornada a la resposta. Utilitza-la per correlacionar crides a l'API amb els teus propis registres i per filtrar sessions més endavant.

Exemple:

"user-123"

metadata
object

Objecte JSON opcional emmagatzemat amb la sessió (quan save_api_request=true) i retornat a la resposta. En sol·licituds multipart, envia'l com a camp de cadena codificat en JSON (p. ex., metadata={"flow":"onboarding"}); s'analitza com un objecte.

Exemple:

Resposta

Document processat. id_verification.status és Approved, Declined o In Review; cada problema detectat es detalla a id_verification.warnings. Es retorna In Review quan una comprovació sol·licitada de prova de vida del document no ha produït cap resultat utilitzable (DOCUMENT_LIVENESS_NOT_COMPUTED). Un document problemàtic continua retornant 200 amb status: "Declined"; inspecciona el cos, no només el codi HTTP. Quan save_api_request=true, request_id és l'id de sessió persistit i els camps d'imatge són URL multimèdia de curta durada; amb save_api_request=false són cadenes JPEG en base64 en línia.

request_id
string<uuid>

ID de sessió persistida quan save_api_request=true (utilitzable amb GET /v3/session/{sessionId}/decision/); en cas contrari, un UUID de correlació transitori.

id_verification
object
vendor_data
string | null

Ressò de les vendor_data que has enviat, o null.

metadata
object | null

Ressò de l'objecte metadata que has enviat, o null.

created_at
string<date-time>

Marca de temps ISO 8601 (UTC) de quan s'ha generat la resposta.

Darrera modificació el 7 de novembre del 2026