Constaia

Tipos de documento

Catálogo de tipos de documento de Constaia por categorías, con sus campos y validadores; cómo usar expect con varios tipos y generic con tu propio esquema.

Cada documento que analizas se clasifica en un tipo. El identificador del tipo (es_dni, payment_receipt, invoice…) es lo que envías en expect y lo que recibes en document.type. Cada tipo define:

  • una plantilla de campos: lo que devuelve extract: true en fields;
  • unos validadores deterministas que se ejecutan siempre que el documento lo permite: letra del NIF/NIE, dígitos de control de la MRZ, IBAN, cuadre de totales, formato del CSV;
  • los checks que tienen sentido para él: caducidad en un DNI, antigüedad en un certificado, importe en un justificante.

La fuente de verdad es GET /v1/document-types: público, sin clave y siempre al día. Para ver cada tipo con más detalle, abre el catálogo completo.

Categorías

categoryQué agrupa
identityDocumentos de identidad y de conducir: DNI, NIE/TIE, pasaporte, documento de identidad de la UE, permiso de conducir.
certificateCertificados emitidos por una autoridad o un profesional: médico deportivo, delitos sexuales, antecedentes penales, discapacidad.
sportsLicencias deportivas y titulaciones de entrenador.
financeJustificantes de pago, facturas, certificados de titularidad bancaria y de seguro.
civilDocumentos del registro y del padrón: certificado de empadronamiento, libro de familia.
othergeneric: cualquier documento que no encaja en el catálogo.

Los validadores comprueban la coherencia de los datos, no la autenticidad del documento. Una letra de DNI correcta o una MRZ bien formada no demuestran que el documento no esté manipulado. Para eso están los warnings, que son indicios y no pruebas.

TipoDocumentoCamposValidadores
es_dniDNI (España)document_numberfirst_namelast_name_1last_name_2sexnationalitybirth_dateexpiry_dateissue_datesupport_numberaddressbirth_placeparentsmrzLetra del NIF/NIE, MRZ ICAO 9303, MRZ frente a lo impreso, Vigencia, Titular, Edad
es_nieNIE / TIE (España)nie_numberfirst_namelast_namenationalitybirth_dateexpiry_datepermit_typesexmrzLetra del NIF/NIE, MRZ ICAO 9303, MRZ frente a lo impreso, Vigencia, Titular, Edad
passportPasaporte (cualquier país)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzMRZ ICAO 9303, MRZ frente a lo impreso, Vigencia, Titular, Edad
eu_id_cardDNI/ID de la UE (otros países)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzMRZ ICAO 9303, MRZ frente a lo impreso, Vigencia, Titular, Edad
es_driving_licensePermiso de conducir (España)numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesLetra del NIF/NIE, Vigencia, Titular, Edad
medical_certificate_sportCertificado médico deportivopatient_namepatient_idissue_datedoctor_namedoctor_license_numberfit_for_sportsportrestrictionssignature_presentstamp_presentLetra del NIF/NIE, Antigüedad, Titular
es_sexual_offences_certificateCertificado de delitos de naturaleza sexualholder_nameholder_idissue_datehas_recordscsv_codeLetra del NIF/NIE, Antigüedad, Titular, Código Seguro de Verificación, Firma electrónica del PDF
es_criminal_record_certificateCertificado de antecedentes penalesholder_nameholder_idissue_datehas_recordscsv_codeLetra del NIF/NIE, Antigüedad, Titular, Código Seguro de Verificación, Firma electrónica del PDF
sports_licenseLicencia federativaholder_nameholder_idfederationlicense_numberseasoncategoryvalid_untilLetra del NIF/NIE, Titular, Vigencia
coach_qualificationTitulación de entrenador o técnico deportivoholder_nameholder_idqualificationlevelissuerissue_dateLetra del NIF/NIE, Titular
insurance_certificateCertificado de seguroinsurerpolicy_numberholdercoveragevalid_fromvalid_untilVigencia, Titular
payment_receiptJustificante de pago o transferenciaamountcurrencydatepayer_namepayer_ibanbeneficiary_namebeneficiary_ibanconceptreferenceIBAN, Valores esperados, Titular
bank_ownership_certificateCertificado de titularidad bancariaholder_nameholder_idibanbankissue_dateIBAN, Letra del NIF/NIE, Titular, Antigüedad
invoiceFacturanumberissue_datesellerbuyerlinestax_basevatwithholdingtotalcurrencyLetra del NIF/NIE, Cuadre de totales, Valores esperados
es_disability_certificateCertificado de discapacidadholder_nameholder_iddegree_percentissue_datevalid_untilissuerLetra del NIF/NIE, Vigencia, Titular
es_census_certificateCertificado de empadronamientoholder_nameholder_idaddressmunicipalityissue_dateLetra del NIF/NIE, Antigüedad, Titular
es_family_bookLibro de familiaholderschildren-
id_cardDocumento de identidad (cualquier país)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
eu_residence_permitPermiso de residencia UE (modelo uniforme)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarksbirth_placeaddresspersonal_numberMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
refugee_travel_documentDocumento de viaje para refugiadosdocument_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
eu_driving_licencePermiso de conducir de la UEdocument_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsTitular, Edad, Vigencia
international_driving_permitPermiso internacional de conduccióndocument_numberfirst_namelast_namebirth_dateissue_dateexpiry_dateissuing_countrynational_licence_numbercategoriesTitular, Edad, Vigencia
pt_citizen_cardCartão de Cidadão (Portugal)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcivil_id_numbertax_idsocial_security_numberhealth_numberheightparentsMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
fr_cniCarte nationale d'identité (Francia, 2021)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressalternate_nameissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
fr_cni_legacyCarte nationale d'identité (Francia, 1995–2021)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressheightissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
de_id_cardPersonalausweis (Alemania)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressbirth_nameheighteye_colorcan_numberissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
it_cieCarta d'identità elettronica (Italia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrztax_codebirth_placeaddressheightmunicipalityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
nl_id_cardIdentiteitskaart (Países Bajos)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeheightissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
be_eideID / carné de identidad (Bélgica)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
lu_id_cardCarte d'identité (Luxemburgo)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
ie_passport_cardPassport Card (Irlanda)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
at_id_cardPersonalausweis (Austria)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeheightissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
ch_id_cardIdentitätskarte (Suiza)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzplace_of_originheightissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
pl_id_cardDowód osobisty (Polonia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placefamily_nameissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
ro_id_cardCarte de identitate (Rumanía)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberseriesbirth_placeaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
bg_id_cardЛична карта (Bulgaria)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
hr_id_cardOsobna iskaznica (Croacia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
cz_id_cardObčanský průkaz (Chequia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
sk_id_cardObčiansky preukaz (Eslovaquia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
si_id_cardOsebna izkaznica (Eslovenia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberaddressissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
hu_id_cardSzemélyazonosító igazolvány (Hungría)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placemother_nameissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
gr_id_cardΔελτίο Ταυτότητας (Grecia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placefather_namemother_namelatin_nameissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
cy_id_cardΔελτίο Ταυτότητας (Chipre)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
mt_id_cardKarta tal-Identità (Malta)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
ee_id_cardID-kaart (Estonia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
lv_id_cardeID karte (Letonia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
lt_id_cardAsmens tapatybės kortelė (Lituania)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
fi_id_cardHenkilökortti (Finlandia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
se_id_cardNationellt id-kort (Suecia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberheightMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
no_id_cardNasjonalt ID-kort (Noruega)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
dk_id_cardIdentitetskort (Dinamarca)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countryissuing_authorityTitular, Edad, Vigencia
is_id_cardNafnskírteini (Islandia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
li_id_cardIdentitätskarte (Liechtenstein)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzplace_of_originMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
fr_residence_permitTitre de séjour (Francia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarkspersonal_numberbirth_placeaddressMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
gb_brpBiometric Residence Permit (Reino Unido)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarksbirth_placenational_insurance_numberMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
ad_residence_permitPermiso de residencia (Andorra)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrytax_idpermit_typeaddressIdentificadores nacionales, Titular, Edad, Vigencia
ma_cnieCarte nationale d'identité électronique (Marruecos)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddresscan_numberMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
pt_driving_licenceCarta de condução (Portugal)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsTitular, Edad, Vigencia
fr_driving_licencePermis de conduire (Francia)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsTitular, Edad, Vigencia
it_driving_licencePatente di guida (Italia)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsTitular, Edad, Vigencia
de_driving_licenceFührerschein (Alemania)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsTitular, Edad, Vigencia
nl_driving_licenceRijbewijs (Países Bajos)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsIdentificadores nacionales, Titular, Edad, Vigencia
gb_driving_licenceDriving licence (Reino Unido)document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsaddresspostal_codeIdentificadores nacionales, Código postal, Titular, Edad, Vigencia
it_health_cardTessera sanitaria (Italia)tax_codedocument_numberfirst_namelast_namesexbirth_datebirth_placeprovinceexpiry_dateIdentificadores nacionales, Titular, Edad, Vigencia
fr_health_cardCarte Vitale (Francia)social_security_numberdocument_numberfirst_namelast_nameissue_dateIdentificadores nacionales, Titular
at_ecarde-card (Austria)social_security_numberdocument_numberfirst_namelast_namebirth_dateexpiry_dateIdentificadores nacionales, Titular, Edad, Vigencia
ch_health_insurance_cardVersichertenkarte (Suiza)social_security_numberdocument_numberinsurerfirst_namelast_namebirth_dateexpiry_dateIdentificadores nacionales, Titular, Edad, Vigencia
dk_health_cardSundhedskort (Dinamarca)document_numberfirst_namelast_nameaddressdoctorissue_dateIdentificadores nacionales, Titular
ie_pps_cardPublic Services Card (Irlanda)document_numberpersonal_numberfirst_namelast_nameexpiry_dateIdentificadores nacionales, Titular, Vigencia
de_tax_id_noticeSteuerliche Identifikationsnummer (Alemania)holder_nametax_idbirth_dateaddressissue_dateIdentificadores nacionales, Titular
es_payslipNómina (España)companyemployeeperiod_startperiod_enddaysaccrualstotal_accrueddeductionstotal_deductionsnet_payirpf_percentcontribution_basespayment_dateibanIdentificadores nacionales, Titular, Antigüedad, IBAN
es_work_historyInforme de vida laboral (España)holder_nameholder_idissue_datesocial_security_numberbirth_datetotal_daysperiodscsv_codeIdentificadores nacionales, Titular, Antigüedad, Código Seguro de Verificación, Firma electrónica del PDF
es_aeat_tax_compliance_certificateCertificado de estar al corriente con la AEATholder_nameholder_idissue_datepurposeresultis_compliantcsv_codeIdentificadores nacionales, Titular, Antigüedad, Código Seguro de Verificación, Firma electrónica del PDF
es_social_security_compliance_certificateCertificado de estar al corriente con la Seguridad Socialholder_nameholder_idissue_datecccis_compliantcsv_codeIdentificadores nacionales, Titular, Antigüedad, Firma electrónica del PDF
es_self_employed_fee_receiptRecibo de autónomos (RETA)holder_nameholder_idsocial_security_numberperiodcontribution_baseamountpayment_dateibanreceipt_numberIdentificadores nacionales, Titular, Antigüedad, IBAN
es_aeat_census_certificateCertificado de situación censal (AEAT)holder_nameholder_idissue_datetax_addressactivitiesvat_regimeincome_tax_regimeregistration_datecsv_codeIdentificadores nacionales, Titular, Antigüedad, Código Seguro de Verificación, Firma electrónica del PDF
es_aeat_tax_id_cardTarjeta de identificación fiscal (NIF, España)holder_nameholder_idtax_addressissue_datecsv_codeIdentificadores nacionales, Titular, Código Seguro de Verificación, Firma electrónica del PDF
es_income_tax_returnDeclaración de la renta – modelo 100 (España)tax_yearholder_nameholder_idspouse_idjointgeneral_tax_basesavings_tax_basetotal_tax_dueresultreceipt_numberfiling_datecsv_codeIdentificadores nacionales, Titular, Código Seguro de Verificación
es_aeat_income_certificateCertificado de IRPF / nivel de renta (AEAT)holder_nameholder_idissue_datetax_yearhas_filedgeneral_tax_basesavings_tax_basetotal_incomecsv_codeIdentificadores nacionales, Titular, Antigüedad, Código Seguro de Verificación, Firma electrónica del PDF
es_social_security_number_documentDocumento de afiliación a la Seguridad Social (NUSS)holder_nameholder_idissue_datesocial_security_numberbirth_datecsv_codeIdentificadores nacionales, Titular, Firma electrónica del PDF
es_health_cardTarjeta sanitaria (España)document_numberfirst_namelast_namesocial_security_numberhealth_serviceexpiry_dateTitular
es_vehicle_registrationPermiso de circulación (España)plate_numberfirst_registration_dateholder_nameholder_idaddressmakemodelvinissue_dateIdentificadores nacionales, Titular
mx_ineCredencial para votar INE (México)document_numberfirst_namelast_namesexbirth_datecurpelector_keyocr_numberaddresssectionregistration_yearissue_dateexpiry_datemrzMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
ar_dniDNI (Argentina)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzprocedure_numbercopycuilbirth_placeaddressMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
co_cedulaCédula de ciudadanía (Colombia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_datebirth_placeissue_placeheightblood_typeIdentificadores nacionales, Titular, Edad
co_cedula_digitalCédula digital (Colombia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeissue_placeblood_typeMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
cl_cedulaCédula de identidad (Chile)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzrunbirth_placeprofessionMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
pe_dniDNI (Perú)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcheck_digitubigeomarital_statusaddressMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
pe_dnieDNI electrónico (Perú)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcheck_digitubigeoaddressMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
ve_cedulaCédula de identidad (Venezuela)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datemarital_statusIdentificadores nacionales, Titular, Edad, Vigencia
ec_cedulaCédula de identidad (Ecuador)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_placefingerprint_codemarital_statusIdentificadores nacionales, Titular, Edad, Vigencia
uy_ciCédula de identidad (Uruguay)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
br_rgRG – Carteira de identidade (Brasil)document_numberfirst_namelast_namebirth_dateissue_dateissuing_stateissuing_authoritycpffather_namemother_namebirth_placeIdentificadores nacionales, Titular, Edad
br_cinCarteira de Identidade Nacional (Brasil)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzissuing_statemother_namefather_namebirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia
bo_ciCédula de identidad (Bolivia)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateextensionbirth_placeIdentificadores nacionales, Titular, Edad, Vigencia
py_ciCédula de identidad (Paraguay)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_placeIdentificadores nacionales, Titular, Edad, Vigencia
do_cedulaCédula de identidad y electoral (República Dominicana)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_placemarital_statusIdentificadores nacionales, Titular, Edad, Vigencia
gt_dpiDPI (Guatemala)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddressTitular, Edad, Vigencia
cr_cedulaCédula de identidad (Costa Rica)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddressTitular, Edad, Vigencia
pa_cedulaCédula de identidad personal (Panamá)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddressTitular, Edad, Vigencia
sv_duiDUI (El Salvador)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddressTitular, Edad, Vigencia
hn_dniDNI (Honduras)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddressTitular, Edad, Vigencia
br_cnhCNH – Carteira Nacional de Habilitação (Brasil)document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authoritycpfrgfirst_licence_datemother_nameIdentificadores nacionales, Titular, Edad, Vigencia
mx_driver_licenseLicencia de conducir (México)document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityissuing_statecurpIdentificadores nacionales, Titular, Edad, Vigencia
ar_driver_licenseLicencia Nacional de Conducir (Argentina)document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityIdentificadores nacionales, Titular, Edad, Vigencia
co_driver_licenseLicencia de conducción (Colombia)document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityblood_typeIdentificadores nacionales, Titular, Edad, Vigencia
cl_driver_licenseLicencia de conducir (Chile)document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityIdentificadores nacionales, Titular, Edad, Vigencia
mx_curp_certificateConstancia de CURP (México)curpholder_namebirth_datebirth_statesexnationalityregistration_documentissue_dateIdentificadores nacionales, Titular, Antigüedad
mx_rfc_certificateConstancia de situación fiscal (México)rfccurpholder_nameid_ciftax_regimesstatusoperations_start_dateaddresspostal_codeissue_dateIdentificadores nacionales, Código postal, Titular, Antigüedad, Firma electrónica del PDF
ar_cuil_cuit_certificateConstancia de CUIL/CUIT (Argentina)tax_idholder_nameholder_idtax_statusaddressissue_dateIdentificadores nacionales, Titular, Antigüedad
co_rutRUT – Registro Único Tributario (Colombia)tax_idholder_nameeconomic_activityresponsibilitiesaddressissue_dateIdentificadores nacionales, Titular, Antigüedad
cl_rut_certificatee-RUT / Cédula RUT (Chile)tax_idholder_nameactivity_start_dateaddressissue_dateIdentificadores nacionales, Titular, Antigüedad
br_cpf_cardComprobante de inscripción en el CPF (Brasil)cpfholder_namebirth_datestatusissue_datecontrol_codeIdentificadores nacionales, Titular, Antigüedad
br_cnpj_cardTarjeta CNPJ (Brasil)cnpjcompany_nametrade_nameopening_datelegal_naturemain_activityaddresspostal_codestatusissue_dateIdentificadores nacionales, Código postal, Antigüedad
us_driver_licensePermiso de conducir de EE. UU.document_numberissuing_statefirst_namemiddle_namelast_namename_suffixbirth_dateissue_dateexpiry_datesexheightweighteye_colorhair_coloraddresspostal_codereal_id_compliantddorgan_donorveteranunder_21_untilfederal_limits_applyclassrestrictionsendorsementscommercialpermit_typebarcode_dataCódigo PDF417 (AAMVA), Identificadores nacionales, Código postal, Titular, Edad, Vigencia, Formulario I-9
us_state_idDocumento de identidad estatal de EE. UU. (State ID)document_numberissuing_statefirst_namemiddle_namelast_namename_suffixbirth_dateissue_dateexpiry_datesexheightweighteye_colorhair_coloraddresspostal_codereal_id_compliantddorgan_donorveteranunder_21_untilfederal_limits_applybarcode_dataCódigo PDF417 (AAMVA), Identificadores nacionales, Código postal, Titular, Edad, Vigencia, Formulario I-9
us_passport_bookPasaporte de EE. UU.document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeissuing_authorityMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia, Formulario I-9
us_passport_cardTarjeta de pasaporte de EE. UU. (passport card)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia, Formulario I-9
us_permanent_resident_cardTarjeta de residente permanente de EE. UU. (green card)document_numberuscis_numberfirst_namelast_namesexbirth_datecountry_of_birthcategoryissue_dateexpiry_datenationalitymrzMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia, Formulario I-9
us_eadPermiso de trabajo EAD (EE. UU., I-766)document_numberuscis_numberfirst_namelast_namesexbirth_datecountry_of_birthcategoryissue_dateexpiry_datenationalitymrztermsMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia, Formulario I-9
us_foreign_passport_i551Pasaporte extranjero con sello I-551 (EE. UU.)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzuscis_numberstamp_expiry_dateMRZ ICAO 9303, MRZ frente a lo impreso, Identificadores nacionales, Titular, Edad, Vigencia, Formulario I-9
us_i94Registro de entrada/salida I-94 (EE. UU.)admission_numberfirst_namelast_namebirth_datepassport_numbercountry_of_issuancearrival_dateclass_of_admissionadmit_until_dateTitular, Edad, Vigencia, Formulario I-9
us_ssn_cardTarjeta de la Seguridad Social de EE. UU. (SSN)ssnholder_namerestrictionsignature_presentIdentificadores nacionales, Titular, Formulario I-9
us_birth_certificateCertificado de nacimiento (EE. UU.)holder_namebirth_datebirth_placeissuing_statesexmother_namefather_namecertificate_numberregistration_dateissue_dateissuing_authorityseal_presentTitular, Formulario I-9
us_consular_birth_reportInforme consular de nacimiento en el extranjero (EE. UU.)holder_namebirth_datebirth_placesexform_typecertificate_numberissue_dateparentsTitular, Formulario I-9
us_school_idCarné escolar o universitario con foto (EE. UU.)document_numberfirst_namelast_nameinstitutionissue_dateexpiry_dateTitular, Formulario I-9
us_voter_registration_cardTarjeta de registro de votante (EE. UU.)document_numberfirst_namelast_namebirth_dateissuing_statecountyaddressprecinctpartyissue_dateTitular, Edad, Formulario I-9
us_military_idIdentificación militar (EE. UU.)document_numberfirst_namelast_namebirth_datebranchrankcard_typeissue_dateexpiry_dateTitular, Edad, Vigencia, Formulario I-9
us_tribal_documentDocumento tribal nativo americano (EE. UU.)document_numberfirst_namelast_namebirth_datetribeissue_dateexpiry_dateTitular, Edad, Formulario I-9
us_citizen_id_cardTarjeta de identificación de ciudadano estadounidense (I-197)document_numberfirst_namelast_namebirth_dateissue_dateTitular, Edad, Formulario I-9
us_resident_citizen_id_cardTarjeta de ciudadano residente en EE. UU. (I-179)document_numberfirst_namelast_namebirth_dateissue_dateTitular, Edad, Formulario I-9
us_medicare_cardTarjeta de Medicare (EE. UU.)holder_namembihospital_part_a_datemedical_part_b_dateIdentificadores nacionales, Titular
us_health_insurance_cardTarjeta de seguro médico de EE. UU.insurermember_namemember_idgroup_numberplan_namerx_binrx_pcnrx_grouppayer_ideffective_datecopaysTitular
us_w9Formulario W-9 (IRS)namebusiness_nametax_classificationexempt_payee_codeaddresspostal_codessneinsignature_presentsignature_dateform_revisionIdentificadores nacionales, Código postal, Titular, Antigüedad
us_w2Formulario W-2 (IRS)tax_yearemployer_einemployeremployee_ssnemployee_nameemployee_addresswagesfederal_income_tax_withheldsocial_security_wagessocial_security_tax_withheldmedicare_wagesmedicare_tax_withheldstatestate_wagesstate_income_taxIdentificadores nacionales, Titular
us_1099_necFormularios 1099 (IRS)tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numbernonemployee_compensationfederal_income_tax_withheldstatestate_incomestate_tax_withheldIdentificadores nacionales, Titular
us_1099_miscFormulario 1099-MISC (EE. UU.)tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numberrentsroyaltiesother_incomemedical_paymentsattorney_proceedsfederal_income_tax_withheldstatestate_incomestate_tax_withheldIdentificadores nacionales, Titular
us_1099_intFormulario 1099-INT (EE. UU.)tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numberinterest_incomeearly_withdrawal_penaltyus_savings_bonds_interesttax_exempt_interestfederal_income_tax_withheldstatestate_incomestate_tax_withheldIdentificadores nacionales, Titular
us_irs_ein_letterCarta de asignación de EIN del IRS (CP 575 / 147C)business_nameeinaddresspostal_codenotice_typeissue_dateIdentificadores nacionales, Código postal
us_paystubNómina de EE. UU. (pay stub)employer_nameemployer_addressemployee_nameemployee_idssn_last4pay_period_startpay_period_endpay_datepay_frequencyhoursrategross_paynet_payytd_grossytd_netdeductionsTitular, Antigüedad
us_bank_statementExtracto bancario de EE. UU.bank_nameaccount_holderaddresspostal_codeaccount_numberrouting_numberaccount_typeperiod_startperiod_endopening_balanceclosing_balancetotal_depositstotal_withdrawalstransactionsIdentificadores nacionales, Código postal, Titular, Antigüedad
us_utility_billFactura de suministros de EE. UU. (utility bill)providerservice_typeaccount_holderaccount_numberservice_addresspostal_codeissue_datedue_dateservice_period_startservice_period_endamount_dueIdentificadores nacionales, Código postal, Titular, Antigüedad
acord_25Certificado de seguro de responsabilidad ACORD 25 (EE. UU.)certificate_datecertificate_numberrevision_numberproducerinsuredinsurerspoliciespolicy_expiry_datedescription_of_operationscertificate_holderauthorized_representativeTitular, Vigencia
us_vehicle_registrationRegistro de vehículo (EE. UU.)issuing_stateplate_numbervinmakemodelmodel_yearowner_nameaddresspostal_codeissue_dateexpiry_dateIdentificadores nacionales, Código postal, Titular, Vigencia
us_i9_formFormulario I-9 (EE. UU.)last_namefirst_namemiddle_initialother_last_namesaddressbirth_datessnemailphonecitizenship_statususcis_numberi94_numberforeign_passport_numberwork_authorization_expiryemployee_signature_datedocumentsfirst_day_of_employmentemployer_nameemployer_titlebusiness_namebusiness_addressemployer_signature_dateform_editionIdentificadores nacionales, Titular, Edad
ca_driver_licencePermiso de conducir (Canadá)document_numberissuing_provincefirst_namelast_namebirth_dateissue_dateexpiry_datesexheightaddresspostal_codeddclassconditionsbarcode_dataCódigo PDF417 (AAMVA), Identificadores nacionales, Código postal, Titular, Edad, Vigencia, Formulario I-9
ca_photo_id_cardTarjeta de identificación con foto provincial (Canadá)document_numberissuing_provincefirst_namelast_namebirth_dateissue_dateexpiry_datesexheightaddresspostal_codeddbarcode_dataCódigo PDF417 (AAMVA), Identificadores nacionales, Código postal, Titular, Edad, Vigencia
ca_pr_cardTarjeta de residente permanente (Canadá)document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzucicountry_of_birthresident_sinceMRZ ICAO 9303, MRZ frente a lo impreso, Titular, Edad, Vigencia
ca_sinNúmero de seguro social SIN (Canadá)sinholder_nameissue_dateexpiry_dateIdentificadores nacionales, Titular
ca_health_cardTarjeta sanitaria provincial (Canadá)document_numberversion_codeissuing_provincefirst_namelast_namebirth_datesexissue_dateexpiry_dateTitular, Edad, Vigencia
ehicTarjeta Sanitaria Europea (TSE)last_namefirst_namebirth_datepersonal_numberinstitutiondocument_numberexpiry_dateissuing_countryTitular, Edad, Vigencia
vaccination_certificateCertificado de vacunaciónholder_nameholder_idbirth_datecertificate_idissuerissue_datevaccinationsqr_presentTitular
criminal_record_certificateCertificado de antecedentes penales (otros países)holder_nameholder_idissue_datebirth_datecountryissuing_authorityhas_recordspurposeverification_codeTitular, Antigüedad
academic_degreeTítulo académicoholder_nameholder_idbirth_datedegree_titlefield_of_studylevelinstitutioncountrycompletion_dateissue_dateregistry_numberTitular
academic_transcriptCertificado académico de notasholder_nameholder_idinstitutionprogramcoursesaverage_gradeissue_dateTitular, Antigüedad
birth_certificateCertificado de nacimientoholder_namebirth_datebirth_placesexmother_namefather_nameregistryregistry_referencecountryissue_dateTitular
marriage_certificateCertificado de matrimoniospouse_1_namespouse_2_namemarriage_datemarriage_placeregistryregistry_referencecountryissue_dateTitular
notarial_deedEscritura notarialdeed_typenotary_namenotary_locationprotocol_numberdeed_datepartiessubjectamountcopy_typecsv_codecountry-
power_of_attorneyPoder de representacióngrantorattorneyspowersscopejoint_actionnotary_nameprotocol_numbergrant_datevalid_untilcountryTitular
company_registry_extractCertificado del registro mercantilcompany_nameregistration_numbertax_idlegal_formregistered_officeincorporation_dateshare_capitalstatusdirectorsregistrycountryissue_dateIdentificadores nacionales, Antigüedad
tax_residence_certificateCertificado de residencia fiscalholder_nameholder_idissue_datecountrytax_yeartreatyissuing_authorityverification_codeTitular, Antigüedad
rental_agreementContrato de alquilerlandlordtenantsproperty_addresscadastral_referencestart_dateend_datemonthly_rentcurrencydepositsignature_datesignatures_present-
utility_billFactura de suministrossuppliersupplier_tax_idservice_typeholder_nameholder_idsupply_addresspostal_codecountrycupscontract_numberinvoice_numberissue_dateperiod_startperiod_endamountcurrencyIdentificadores nacionales, Código postal, Titular, Antigüedad
bank_statementExtracto bancariobank_nameaccount_holderaddressibanbicperiod_startperiod_endopening_balanceclosing_balancecurrencytransactionsIdentificadores nacionales, IBAN, Titular, Antigüedad
payslipNómina (otros países)employer_nameemployer_tax_idemployee_nameemployee_idsocial_security_numberperiod_startperiod_endpay_dategross_paytotal_deductionsnet_paycurrencyTitular, Antigüedad
employment_contractContrato de trabajoemployeremployeepositioncontract_typestart_dateend_dateworking_hourssalarysalary_periodcurrencysignature_datesignatures_presentTitular
genericOtro documento--
us_acord_25Certificado de seguro de responsabilidad civil (ACORD 25)issue_dateproducerinsuredinsurerspolicy_numbergeneral_liability_each_occurrencegeneral_aggregateauto_liability_combined_single_limitumbrella_each_occurrenceworkers_comp_employers_liabilitypolicy_effective_datepolicy_expiration_dateadditional_insuredcertificate_holdersignature_present-

Catálogo en ampliación

Estamos añadiendo tipos nuevos, entre ellos documentos de EE. UU. y Latinoamérica (por ejemplo, permisos de conducir de EE. UU. con lectura del código de barras PDF417). Hasta que aparezcan en GET /v1/document-types no están disponibles en la API: consulta el endpoint antes de usarlos en expect.

Aceptar varios tipos con expect

Muchas veces te vale más de un documento: "DNI, NIE o pasaporte". Pasa una lista en expect (hasta 20 tipos). El veredicto es valid si el documento es cualquiera de ellos y cumple los checks.

{
  "expect": ["es_dni", "es_nie", "passport", "eu_id_card"],
  "checks": { "min_age_years": 18, "holder": { "full_name": "María García López" } }
}
  • El tipo detectado llega en document.type y verdict.expected repite tu lista.
  • Si se reconoce un tipo del catálogo que no está en la lista, el veredicto es invalid con el motivo type_mismatch.
  • Si el documento no se puede identificar (generic) o la confianza de la clasificación es menor de 0,5, el motivo es type_unknown y el veredicto review.

Cada check se aplica solo si el tipo detectado tiene el campo correspondiente: min_age_years en un DNI, max_age_days en un certificado, expected_amount en un justificante. Si mezclas tipos, elige checks que tengan sentido para todos o ramifica según document.type. Qué checks admite cada tipo lo dice su lista checks en GET /v1/document-types/{type}.

identity.ts
import { Constaia } from "@constaia/sdk";
import { fromPath } from "@constaia/sdk/node";

const constaia = new Constaia();

const analysis = await constaia.analyze(await fromPath("./nie.jpg"), {
  expect: ["es_dni", "es_nie", "passport"],
  checks: { minAgeYears: 18, holder: { fullName: "Anna Kowalska" } },
});

switch (analysis.document?.type) {
  case "es_dni":
    console.log(analysis.fields.document_number?.value);
    break;
  case "es_nie":
    console.log(analysis.fields.nie_number?.value);
    break;
  case "passport":
    console.log(analysis.fields.document_number?.value, analysis.fields.nationality?.value);
    break;
}
console.log(analysis.verdict?.status);

En modo test, un fichero llamado nie.jpg devuelve un NIE válido de ANNA KOWALSKA.

generic con tu propio esquema

Si tu documento no está en el catálogo (una autorización de tu club, un formulario interno, un certificado poco habitual), analízalo con generic y describe los campos con un JSON Schema en extract:

{
  "expect": "generic",
  "extract": {
    "type": "object",
    "properties": {
      "club_name": { "type": "string", "description": "Nombre del club que emite el documento" },
      "member_name": { "type": "string", "description": "Nombre completo del socio" },
      "season": { "type": "string", "description": "Temporada, p. ej. 2026-2027" },
      "signed": { "type": "boolean", "description": "Si el documento está firmado" }
    }
  },
  "checks": { "require_fields": ["club_name", "member_name"] }
}

Los campos vuelven en fields con valor, confianza y posición, igual que en los tipos del catálogo. generic no tiene validadores deterministas ni caducidad: los checks útiles son require_fields y max_age_days. La calidad del resultado depende de lo claras que sean las description de tu esquema. Más detalles en POST /v1/analyze.

También puedes pasar un esquema propio con un tipo del catálogo para quedarte solo con algunos campos: parte del schema que devuelve GET /v1/document-types/{type}.

Tipos nuevos en tu código

El catálogo crece. Programa tu integración para que no falle si recibe en document.type un tipo que no conoce: trátalo como "otro documento" y mándalo a revisión. Si validas tu configuración al arrancar, hazlo contra GET /v1/document-types y no contra una lista fija.

Siguientes pasos

En esta página