Document types
Constaia's document type catalogue by category, with fields and validators; how to use expect with several types and generic with your own schema.
Every document you analyse is classified into a type. The type identifier (es_dni, payment_receipt, invoice…) is what you send in expect and what you receive in document.type. Each type defines:
- a field template: what
extract: truereturns infields; - deterministic validators that run whenever the document allows it: NIF/NIE check letter, MRZ check digits, national identifiers (CPF, CURP, PESEL, SSN…), IBAN, totals, CSV format, the PDF417 barcode on US licenses and the electronic signature of PDFs;
- the checks that make sense for it: expiry on a DNI, issue age on a certificate, amount on a receipt.
The catalogue has 167 types: identity documents from the 30 EU/EEA countries and Switzerland, driving licences, residence permits, Latin America, the United States and Canada, certificates, tax, payslips, invoices… The source of truth is GET /v1/document-types: public, no key needed, filterable by country (country), category (category) or text (q) and always up to date. To see each type in more detail, open the full catalogue.
Categories
category | What it groups |
|---|---|
identity | Identity documents: DNI, NIE/TIE, passport, ID cards from other EU countries, Latin American and US IDs. |
residence | Residence and work permits: EU residence permit, Green Card, EAD, I-94… |
driving | Driving licences (EU, UK, Latin America, US with PDF417, Canada) and the international driving permit. |
certificate | Certificates issued by an authority or a professional: sports medical, sexual offences, criminal record, disability. |
health | Health cards, EHIC, Medicare, vaccination certificates. |
education | Academic degrees and transcripts. |
employment | Payslips, Spanish work history, employment contracts, Form I-9. |
tax | Spanish AEAT and Social Security certificates, income tax returns, W-9, W-2, 1099, tax ID cards. |
finance | Payment receipts, invoices, bank statements, bank ownership and insurance certificates (ACORD 25). |
address | Utility bills and rental agreements. |
legal | Notarial deeds, powers of attorney, company registry extracts. |
vehicle | Vehicle registrations. |
civil | Civil registry and census: census registration, family book, birth and marriage certificates. |
sports | Sports licences and coaching qualifications. |
other | generic: any document that does not fit the catalogue. |
Catalogue
Validators check the consistency of the data, not the authenticity of the document. A correct DNI letter or a well-formed MRZ do not prove the document has not been tampered with. That is what warnings are for, and they are hints, not proof. The exception is electronically signed PDFs: their signature is verified cryptographically (see Digital signatures in PDF).
| Tipo | Documento | Campos | Validadores |
|---|---|---|---|
es_dni | Documento de identidade espanhol (DNI) | document_numberfirst_namelast_name_1last_name_2sexnationalitybirth_dateexpiry_dateissue_datesupport_numberaddressbirth_placeparentsmrz | Letra do NIF/NIE, MRZ ICAO 9303, MRZ vs. dados impressos, Validade, Titular, Idade |
es_nie | NIE / TIE espanhol | nie_numberfirst_namelast_namenationalitybirth_dateexpiry_datepermit_typesexmrz | Letra do NIF/NIE, MRZ ICAO 9303, MRZ vs. dados impressos, Validade, Titular, Idade |
passport | Passaporte (qualquer país) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrz | MRZ ICAO 9303, MRZ vs. dados impressos, Validade, Titular, Idade |
eu_id_card | Cartão de identidade de um país da UE | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrz | MRZ ICAO 9303, MRZ vs. dados impressos, Validade, Titular, Idade |
es_driving_license | Carta de condução espanhola | numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategories | Letra do NIF/NIE, Validade, Titular, Idade |
medical_certificate_sport | Atestado médico desportivo | patient_namepatient_idissue_datedoctor_namedoctor_license_numberfit_for_sportsportrestrictionssignature_presentstamp_present | Letra do NIF/NIE, Antiguidade, Titular |
es_sexual_offences_certificate | Certificado espanhol de crimes sexuais | holder_nameholder_idissue_datehas_recordscsv_code | Letra do NIF/NIE, Antiguidade, Titular, Código de verificação, Assinatura eletrónica do PDF |
es_criminal_record_certificate | Certificado de registo criminal espanhol | holder_nameholder_idissue_datehas_recordscsv_code | Letra do NIF/NIE, Antiguidade, Titular, Código de verificação, Assinatura eletrónica do PDF |
sports_license | Licença federativa desportiva | holder_nameholder_idfederationlicense_numberseasoncategoryvalid_until | Letra do NIF/NIE, Titular, Validade |
coach_qualification | Qualificação de treinador ou técnico desportivo | holder_nameholder_idqualificationlevelissuerissue_date | Letra do NIF/NIE, Titular |
insurance_certificate | Certificado de seguro | insurerpolicy_numberholdercoveragevalid_fromvalid_until | Validade, Titular |
payment_receipt | Comprovativo de pagamento ou transferência bancária | amountcurrencydatepayer_namepayer_ibanbeneficiary_namebeneficiary_ibanconceptreference | IBAN, Valores esperados, Titular |
bank_ownership_certificate | Certificado de titularidade de conta bancária | holder_nameholder_idibanbankissue_date | IBAN, Letra do NIF/NIE, Titular, Antiguidade |
invoice | Fatura | numberissue_datesellerbuyerlinestax_basevatwithholdingtotalcurrency | Letra do NIF/NIE, Totais, Valores esperados |
es_disability_certificate | Certificado espanhol de incapacidade | holder_nameholder_iddegree_percentissue_datevalid_untilissuer | Letra do NIF/NIE, Validade, Titular |
es_census_certificate | Certificado espanhol de inscrição no registo municipal | holder_nameholder_idaddressmunicipalityissue_date | Letra do NIF/NIE, Antiguidade, Titular |
es_family_book | Livro de família espanhol | holderschildren | - |
id_card | Documento de identidade (qualquer país) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
eu_residence_permit | Autorização de residência UE (modelo uniforme) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarksbirth_placeaddresspersonal_number | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
refugee_travel_document | Documento de viagem para refugiados | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
eu_driving_licence | Carta de condução da UE | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Titular, Idade, Validade |
international_driving_permit | Licença internacional de condução | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_dateissuing_countrynational_licence_numbercategories | Titular, Idade, Validade |
pt_citizen_card | Cartão de Cidadão | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcivil_id_numbertax_idsocial_security_numberhealth_numberheightparents | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
fr_cni | Cartão nacional de identidade francês (2021) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressalternate_nameissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
fr_cni_legacy | Cartão nacional de identidade francês (1995–2021) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressheightissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
de_id_card | Cartão de identidade alemão (Personalausweis) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddressbirth_nameheighteye_colorcan_numberissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
it_cie | Cartão de identidade eletrónico italiano (CIE) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrztax_codebirth_placeaddressheightmunicipality | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
nl_id_card | Cartão de identidade neerlandês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeheightissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
be_eid | Cartão de identidade eletrónico belga (eID) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
lu_id_card | Cartão de identidade luxemburguês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
ie_passport_card | Cartão-passaporte irlandês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
at_id_card | Cartão de identidade austríaco | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeheightissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
ch_id_card | Cartão de identidade suíço | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzplace_of_originheightissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
pl_id_card | Cartão de identidade polaco | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placefamily_nameissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
ro_id_card | Cartão de identidade romeno | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberseriesbirth_placeaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
bg_id_card | Cartão de identidade búlgaro | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
hr_id_card | Cartão de identidade croata | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
cz_id_card | Cartão de identidade checo | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
sk_id_card | Cartão de identidade eslovaco | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_placeaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
si_id_card | Cartão de identidade esloveno | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberaddressissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
hu_id_card | Cartão de identidade húngaro | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placemother_nameissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
gr_id_card | Cartão de identidade grego | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placefather_namemother_namelatin_nameissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
cy_id_card | Cartão de identidade cipriota | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
mt_id_card | Cartão de identidade maltês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
ee_id_card | Cartão de identidade estónio | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
lv_id_card | Cartão de identidade letão | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_number | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
lt_id_card | Cartão de identidade lituano | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
fi_id_card | Cartão de identidade finlandês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
se_id_card | Cartão de identidade sueco | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_numberheight | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
no_id_card | Cartão de identidade norueguês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_number | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
dk_id_card | Cartão de identidade dinamarquês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countryissuing_authority | Titular, Idade, Validade |
is_id_card | Cartão de identidade islandês | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpersonal_number | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
li_id_card | Cartão de identidade do Liechtenstein | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzplace_of_origin | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
fr_residence_permit | Autorização de residência francesa (titre de séjour) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarkspersonal_numberbirth_placeaddress | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
gb_brp | Autorização de residência biométrica do Reino Unido (BRP) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzpermit_typeremarksbirth_placenational_insurance_number | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
ad_residence_permit | Autorização de residência de Andorra | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrytax_idpermit_typeaddress | Identificadores nacionais, Titular, Idade, Validade |
ma_cnie | Cartão nacional de identidade eletrónico marroquino (CNIE) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeaddresscan_number | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
pt_driving_licence | Carta de condução portuguesa | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Titular, Idade, Validade |
fr_driving_licence | Carta de condução francesa | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Titular, Idade, Validade |
it_driving_licence | Carta de condução italiana | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Titular, Idade, Validade |
de_driving_licence | Carta de condução alemã | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Titular, Idade, Validade |
nl_driving_licence | Carta de condução neerlandesa | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_details | Identificadores nacionais, Titular, Idade, Validade |
gb_driving_licence | Carta de condução do Reino Unido | document_numberlast_namefirst_namebirth_datebirth_placeissue_dateexpiry_dateissuing_authoritypersonal_numberissuing_countrycategoriescategory_detailsaddresspostal_code | Identificadores nacionais, Código postal, Titular, Idade, Validade |
it_health_card | Cartão de saúde italiano (tessera sanitaria) | tax_codedocument_numberfirst_namelast_namesexbirth_datebirth_placeprovinceexpiry_date | Identificadores nacionais, Titular, Idade, Validade |
fr_health_card | Cartão de seguro de saúde francês (Carte Vitale) | social_security_numberdocument_numberfirst_namelast_nameissue_date | Identificadores nacionais, Titular |
at_ecard | e-card austríaco | social_security_numberdocument_numberfirst_namelast_namebirth_dateexpiry_date | Identificadores nacionais, Titular, Idade, Validade |
ch_health_insurance_card | Cartão de seguro de saúde suíço | social_security_numberdocument_numberinsurerfirst_namelast_namebirth_dateexpiry_date | Identificadores nacionais, Titular, Idade, Validade |
dk_health_card | Cartão de saúde dinamarquês | document_numberfirst_namelast_nameaddressdoctorissue_date | Identificadores nacionais, Titular |
ie_pps_card | Cartão de Serviços Públicos irlandês | document_numberpersonal_numberfirst_namelast_nameexpiry_date | Identificadores nacionais, Titular, Validade |
de_tax_id_notice | Notificação do número fiscal alemão (Steuer-IdNr) | holder_nametax_idbirth_dateaddressissue_date | Identificadores nacionais, Titular |
es_payslip | Recibo de vencimento espanhol (nómina) | companyemployeeperiod_startperiod_enddaysaccrualstotal_accrueddeductionstotal_deductionsnet_payirpf_percentcontribution_basespayment_dateiban | Identificadores nacionais, Titular, Antiguidade, IBAN |
es_work_history | Relatório de carreira contributiva espanhol (vida laboral) | holder_nameholder_idissue_datesocial_security_numberbirth_datetotal_daysperiodscsv_code | Identificadores nacionais, Titular, Antiguidade, Código de verificação, Assinatura eletrónica do PDF |
es_aeat_tax_compliance_certificate | Certidão de situação tributária regularizada (AEAT, Espanha) | holder_nameholder_idissue_datepurposeresultis_compliantcsv_code | Identificadores nacionais, Titular, Antiguidade, Código de verificação, Assinatura eletrónica do PDF |
es_social_security_compliance_certificate | Certidão de situação contributiva regularizada (Segurança Social, Espanha) | holder_nameholder_idissue_datecccis_compliantcsv_code | Identificadores nacionais, Titular, Antiguidade, Assinatura eletrónica do PDF |
es_self_employed_fee_receipt | Recibo de contribuição de trabalhador independente (RETA, Espanha) | holder_nameholder_idsocial_security_numberperiodcontribution_baseamountpayment_dateibanreceipt_number | Identificadores nacionais, Titular, Antiguidade, IBAN |
es_aeat_census_certificate | Certidão de situação censitária (AEAT, Espanha) | holder_nameholder_idissue_datetax_addressactivitiesvat_regimeincome_tax_regimeregistration_datecsv_code | Identificadores nacionais, Titular, Antiguidade, Código de verificação, Assinatura eletrónica do PDF |
es_aeat_tax_id_card | Cartão de identificação fiscal espanhol (NIF) | holder_nameholder_idtax_addressissue_datecsv_code | Identificadores nacionais, Titular, Código de verificação, Assinatura eletrónica do PDF |
es_income_tax_return | Declaração de IRS espanhola (modelo 100) | tax_yearholder_nameholder_idspouse_idjointgeneral_tax_basesavings_tax_basetotal_tax_dueresultreceipt_numberfiling_datecsv_code | Identificadores nacionais, Titular, Código de verificação |
es_aeat_income_certificate | Certidão de rendimentos (AEAT, Espanha) | holder_nameholder_idissue_datetax_yearhas_filedgeneral_tax_basesavings_tax_basetotal_incomecsv_code | Identificadores nacionais, Titular, Antiguidade, Código de verificação, Assinatura eletrónica do PDF |
es_social_security_number_document | Documento de inscrição na Segurança Social espanhola (NUSS) | holder_nameholder_idissue_datesocial_security_numberbirth_datecsv_code | Identificadores nacionais, Titular, Assinatura eletrónica do PDF |
es_health_card | Cartão de saúde espanhol | document_numberfirst_namelast_namesocial_security_numberhealth_serviceexpiry_date | Titular |
es_vehicle_registration | Certificado de matrícula espanhol | plate_numberfirst_registration_dateholder_nameholder_idaddressmakemodelvinissue_date | Identificadores nacionais, Titular |
mx_ine | Credencial de eleitor INE (México) | document_numberfirst_namelast_namesexbirth_datecurpelector_keyocr_numberaddresssectionregistration_yearissue_dateexpiry_datemrz | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
ar_dni | Documento nacional de identidade argentino (DNI) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzprocedure_numbercopycuilbirth_placeaddress | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
co_cedula | Cédula de cidadania colombiana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_datebirth_placeissue_placeheightblood_type | Identificadores nacionais, Titular, Idade |
co_cedula_digital | Cédula digital colombiana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeissue_placeblood_type | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
cl_cedula | Cédula de identidade chilena | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzrunbirth_placeprofession | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
pe_dni | Documento nacional de identidade peruano (DNI) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcheck_digitubigeomarital_statusaddress | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
pe_dnie | DNI eletrónico peruano (DNIe) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzcheck_digitubigeoaddress | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
ve_cedula | Cédula de identidade venezuelana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datemarital_status | Identificadores nacionais, Titular, Idade, Validade |
ec_cedula | Cédula de identidade equatoriana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_placefingerprint_codemarital_status | Identificadores nacionais, Titular, Idade, Validade |
uy_ci | Cédula de identidade uruguaia | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
br_rg | Carteira de Identidade (RG) | document_numberfirst_namelast_namebirth_dateissue_dateissuing_stateissuing_authoritycpffather_namemother_namebirth_place | Identificadores nacionais, Titular, Idade |
br_cin | Carteira de Identidade Nacional (CIN) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzissuing_statemother_namefather_namebirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade |
bo_ci | Cédula de identidade boliviana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateextensionbirth_place | Identificadores nacionais, Titular, Idade, Validade |
py_ci | Cédula de identidade paraguaia | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_place | Identificadores nacionais, Titular, Idade, Validade |
do_cedula | Cédula de identidade e eleitoral dominicana | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_datebirth_placemarital_status | Identificadores nacionais, Titular, Idade, Validade |
gt_dpi | Documento pessoal de identificação da Guatemala (DPI) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddress | Titular, Idade, Validade |
cr_cedula | Cédula de identidade costarriquenha | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddress | Titular, Idade, Validade |
pa_cedula | Cédula de identidade panamenha | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddress | Titular, Idade, Validade |
sv_dui | Documento único de identidade salvadorenho (DUI) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddress | Titular, Idade, Validade |
hn_dni | Documento nacional de identificação hondurenho (DNI) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateaddress | Titular, Idade, Validade |
br_cnh | Carteira Nacional de Habilitação (CNH) | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authoritycpfrgfirst_licence_datemother_name | Identificadores nacionais, Titular, Idade, Validade |
mx_driver_license | Carta de condução mexicana | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityissuing_statecurp | Identificadores nacionais, Titular, Idade, Validade |
ar_driver_license | Carta de condução nacional argentina | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authority | Identificadores nacionais, Titular, Idade, Validade |
co_driver_license | Carta de condução colombiana | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authorityblood_type | Identificadores nacionais, Titular, Idade, Validade |
cl_driver_license | Carta de condução chilena | document_numberfirst_namelast_namebirth_dateissue_dateexpiry_datecategoriesrestrictionsaddressissuing_authority | Identificadores nacionais, Titular, Idade, Validade |
mx_curp_certificate | Comprovante de CURP (México) | curpholder_namebirth_datebirth_statesexnationalityregistration_documentissue_date | Identificadores nacionais, Titular, Antiguidade |
mx_rfc_certificate | Certidão de situação fiscal mexicana (SAT) | rfccurpholder_nameid_ciftax_regimesstatusoperations_start_dateaddresspostal_codeissue_date | Identificadores nacionais, Código postal, Titular, Antiguidade, Assinatura eletrónica do PDF |
ar_cuil_cuit_certificate | Comprovante de CUIL/CUIT (Argentina) | tax_idholder_nameholder_idtax_statusaddressissue_date | Identificadores nacionais, Titular, Antiguidade |
co_rut | Registro Único Tributário colombiano (RUT) | tax_idholder_nameeconomic_activityresponsibilitiesaddressissue_date | Identificadores nacionais, Titular, Antiguidade |
cl_rut_certificate | Cédula RUT eletrónica chilena (e-RUT) | tax_idholder_nameactivity_start_dateaddressissue_date | Identificadores nacionais, Titular, Antiguidade |
br_cpf_card | Comprovante de Inscrição no CPF | cpfholder_namebirth_datestatusissue_datecontrol_code | Identificadores nacionais, Titular, Antiguidade |
br_cnpj_card | Cartão CNPJ (Comprovante de Inscrição e de Situação Cadastral) | cnpjcompany_nametrade_nameopening_datelegal_naturemain_activityaddresspostal_codestatusissue_date | Identificadores nacionais, Código postal, Antiguidade |
us_driver_license | Carta de condução dos EUA | document_numberissuing_statefirst_namemiddle_namelast_namename_suffixbirth_dateissue_dateexpiry_datesexheightweighteye_colorhair_coloraddresspostal_codereal_id_compliantddorgan_donorveteranunder_21_untilfederal_limits_applyclassrestrictionsendorsementscommercialpermit_typebarcode_data | Código PDF417 (AAMVA), Identificadores nacionais, Código postal, Titular, Idade, Validade, Formulário I-9 |
us_state_id | Cartão de identificação estadual dos EUA (State ID) | document_numberissuing_statefirst_namemiddle_namelast_namename_suffixbirth_dateissue_dateexpiry_datesexheightweighteye_colorhair_coloraddresspostal_codereal_id_compliantddorgan_donorveteranunder_21_untilfederal_limits_applybarcode_data | Código PDF417 (AAMVA), Identificadores nacionais, Código postal, Titular, Idade, Validade, Formulário I-9 |
us_passport_book | Passaporte dos EUA | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_placeissuing_authority | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade, Formulário I-9 |
us_passport_card | Cartão de passaporte dos EUA (passport card) | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzbirth_place | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade, Formulário I-9 |
us_permanent_resident_card | Cartão de residente permanente dos EUA (green card) | document_numberuscis_numberfirst_namelast_namesexbirth_datecountry_of_birthcategoryissue_dateexpiry_datenationalitymrz | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade, Formulário I-9 |
us_ead | Autorização de trabalho dos EUA (EAD, I-766) | document_numberuscis_numberfirst_namelast_namesexbirth_datecountry_of_birthcategoryissue_dateexpiry_datenationalitymrzterms | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade, Formulário I-9 |
us_foreign_passport_i551 | Passaporte estrangeiro com carimbo I-551 temporário | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzuscis_numberstamp_expiry_date | MRZ ICAO 9303, MRZ vs. dados impressos, Identificadores nacionais, Titular, Idade, Validade, Formulário I-9 |
us_i94 | Registo de entrada/saída I-94 (EUA) | admission_numberfirst_namelast_namebirth_datepassport_numbercountry_of_issuancearrival_dateclass_of_admissionadmit_until_date | Titular, Idade, Validade, Formulário I-9 |
us_ssn_card | Cartão da Segurança Social dos EUA (SSN) | ssnholder_namerestrictionsignature_present | Identificadores nacionais, Titular, Formulário I-9 |
us_birth_certificate | Certidão de nascimento dos EUA | holder_namebirth_datebirth_placeissuing_statesexmother_namefather_namecertificate_numberregistration_dateissue_dateissuing_authorityseal_present | Titular, Formulário I-9 |
us_consular_birth_report | Registo consular de nascimento no estrangeiro (FS-240) | holder_namebirth_datebirth_placesexform_typecertificate_numberissue_dateparents | Titular, Formulário I-9 |
us_school_id | Cartão escolar ou universitário com foto (EUA) | document_numberfirst_namelast_nameinstitutionissue_dateexpiry_date | Titular, Formulário I-9 |
us_voter_registration_card | Cartão de recenseamento eleitoral dos EUA | document_numberfirst_namelast_namebirth_dateissuing_statecountyaddressprecinctpartyissue_date | Titular, Idade, Formulário I-9 |
us_military_id | Cartão de identificação militar dos EUA | document_numberfirst_namelast_namebirth_datebranchrankcard_typeissue_dateexpiry_date | Titular, Idade, Validade, Formulário I-9 |
us_tribal_document | Documento tribal nativo americano (EUA) | document_numberfirst_namelast_namebirth_datetribeissue_dateexpiry_date | Titular, Idade, Formulário I-9 |
us_citizen_id_card | Cartão de identificação de cidadão norte-americano (I-197) | document_numberfirst_namelast_namebirth_dateissue_date | Titular, Idade, Formulário I-9 |
us_resident_citizen_id_card | Cartão de cidadão residente nos EUA (I-179) | document_numberfirst_namelast_namebirth_dateissue_date | Titular, Idade, Formulário I-9 |
us_medicare_card | Cartão Medicare (EUA) | holder_namembihospital_part_a_datemedical_part_b_date | Identificadores nacionais, Titular |
us_health_insurance_card | Cartão de seguro de saúde dos EUA | insurermember_namemember_idgroup_numberplan_namerx_binrx_pcnrx_grouppayer_ideffective_datecopays | Titular |
us_w9 | Formulário W-9 (IRS) | namebusiness_nametax_classificationexempt_payee_codeaddresspostal_codessneinsignature_presentsignature_dateform_revision | Identificadores nacionais, Código postal, Titular, Antiguidade |
us_w2 | Formulário W-2 (IRS) | tax_yearemployer_einemployeremployee_ssnemployee_nameemployee_addresswagesfederal_income_tax_withheldsocial_security_wagessocial_security_tax_withheldmedicare_wagesmedicare_tax_withheldstatestate_wagesstate_income_tax | Identificadores nacionais, Titular |
us_1099_nec | Formulários 1099 (IRS) | tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numbernonemployee_compensationfederal_income_tax_withheldstatestate_incomestate_tax_withheld | Identificadores nacionais, Titular |
us_1099_misc | Formulário 1099-MISC (IRS) | tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numberrentsroyaltiesother_incomemedical_paymentsattorney_proceedsfederal_income_tax_withheldstatestate_incomestate_tax_withheld | Identificadores nacionais, Titular |
us_1099_int | Formulário 1099-INT (IRS) | tax_yearpayer_namepayer_addresspayer_tinrecipient_namerecipient_tinrecipient_addressaccount_numberinterest_incomeearly_withdrawal_penaltyus_savings_bonds_interesttax_exempt_interestfederal_income_tax_withheldstatestate_incomestate_tax_withheld | Identificadores nacionais, Titular |
us_irs_ein_letter | Carta de atribuição de EIN do IRS (CP 575 / 147C) | business_nameeinaddresspostal_codenotice_typeissue_date | Identificadores nacionais, Código postal |
us_paystub | Recibo de vencimento dos EUA (pay stub) | employer_nameemployer_addressemployee_nameemployee_idssn_last4pay_period_startpay_period_endpay_datepay_frequencyhoursrategross_paynet_payytd_grossytd_netdeductions | Titular, Antiguidade |
us_bank_statement | Extrato bancário dos EUA | bank_nameaccount_holderaddresspostal_codeaccount_numberrouting_numberaccount_typeperiod_startperiod_endopening_balanceclosing_balancetotal_depositstotal_withdrawalstransactions | Identificadores nacionais, Código postal, Titular, Antiguidade |
us_utility_bill | Fatura de serviços dos EUA (utility bill) | providerservice_typeaccount_holderaccount_numberservice_addresspostal_codeissue_datedue_dateservice_period_startservice_period_endamount_due | Identificadores nacionais, Código postal, Titular, Antiguidade |
acord_25 | Certificado de seguro de responsabilidade ACORD 25 (EUA) | certificate_datecertificate_numberrevision_numberproducerinsuredinsurerspoliciespolicy_expiry_datedescription_of_operationscertificate_holderauthorized_representativesignature_present | Titular, Validade |
us_vehicle_registration | Registo de veículo (EUA) | issuing_stateplate_numbervinmakemodelmodel_yearowner_nameaddresspostal_codeissue_dateexpiry_date | Identificadores nacionais, Código postal, Titular, Validade |
us_i9_form | Formulário I-9 (verificação de elegibilidade de emprego) | 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_edition | Identificadores nacionais, Titular, Idade |
ca_driver_licence | Carta de condução canadiana | document_numberissuing_provincefirst_namelast_namebirth_dateissue_dateexpiry_datesexheightaddresspostal_codeddclassconditionsbarcode_data | Código PDF417 (AAMVA), Identificadores nacionais, Código postal, Titular, Idade, Validade, Formulário I-9 |
ca_photo_id_card | Cartão de identificação com foto provincial (Canadá) | document_numberissuing_provincefirst_namelast_namebirth_dateissue_dateexpiry_datesexheightaddresspostal_codeddbarcode_data | Código PDF417 (AAMVA), Identificadores nacionais, Código postal, Titular, Idade, Validade |
ca_pr_card | Cartão de residente permanente canadiano | document_numberfirst_namelast_namesexnationalitybirth_dateissue_dateexpiry_dateissuing_countrymrzucicountry_of_birthresident_since | MRZ ICAO 9303, MRZ vs. dados impressos, Titular, Idade, Validade |
ca_sin | Número de seguro social canadiano (SIN) | sinholder_nameissue_dateexpiry_date | Identificadores nacionais, Titular |
ca_health_card | Cartão de saúde provincial (Canadá) | document_numberversion_codeissuing_provincefirst_namelast_namebirth_datesexissue_dateexpiry_date | Titular, Idade, Validade |
ehic | Cartão Europeu de Seguro de Doença (CESD) | last_namefirst_namebirth_datepersonal_numberinstitutiondocument_numberexpiry_dateissuing_country | Titular, Idade, Validade |
vaccination_certificate | Certificado de vacinação | holder_nameholder_idbirth_datecertificate_idissuerissue_datevaccinationsqr_present | Titular |
criminal_record_certificate | Certificado de registo criminal | holder_nameholder_idissue_datebirth_datecountryissuing_authorityhas_recordspurposeverification_code | Titular, Antiguidade |
academic_degree | Diploma académico | holder_nameholder_idbirth_datedegree_titlefield_of_studylevelinstitutioncountrycompletion_dateissue_dateregistry_number | Titular |
academic_transcript | Certificado de notas | holder_nameholder_idinstitutionprogramcoursesaverage_gradeissue_date | Titular, Antiguidade |
birth_certificate | Certidão de nascimento | holder_namebirth_datebirth_placesexmother_namefather_nameregistryregistry_referencecountryissue_date | Titular |
marriage_certificate | Certidão de casamento | spouse_1_namespouse_2_namemarriage_datemarriage_placeregistryregistry_referencecountryissue_date | Titular |
notarial_deed | Escritura notarial | deed_typenotary_namenotary_locationprotocol_numberdeed_datepartiessubjectamountcopy_typecsv_codecountry | - |
power_of_attorney | Procuração | grantorattorneyspowersscopejoint_actionnotary_nameprotocol_numbergrant_datevalid_untilcountry | Titular |
company_registry_extract | Certidão do registo comercial | company_nameregistration_numbertax_idlegal_formregistered_officeincorporation_dateshare_capitalstatusdirectorsregistrycountryissue_date | Identificadores nacionais, Antiguidade |
tax_residence_certificate | Certificado de residência fiscal | holder_nameholder_idissue_datecountrytax_yeartreatyissuing_authorityverification_code | Titular, Antiguidade |
rental_agreement | Contrato de arrendamento | landlordtenantsproperty_addresscadastral_referencestart_dateend_datemonthly_rentcurrencydepositsignature_datesignatures_present | - |
utility_bill | Fatura de serviços | suppliersupplier_tax_idservice_typeholder_nameholder_idsupply_addresspostal_codecountrycupscontract_numberinvoice_numberissue_dateperiod_startperiod_endamountcurrency | Identificadores nacionais, Código postal, Titular, Antiguidade |
bank_statement | Extrato bancário | bank_nameaccount_holderaddressibanbicperiod_startperiod_endopening_balanceclosing_balancecurrencytransactions | Identificadores nacionais, IBAN, Titular, Antiguidade |
payslip | Recibo de vencimento | employer_nameemployer_tax_idemployee_nameemployee_idsocial_security_numberperiod_startperiod_endpay_dategross_paytotal_deductionsnet_paycurrency | Titular, Antiguidade |
employment_contract | Contrato de trabalho | employeremployeepositioncontract_typestart_dateend_dateworking_hourssalarysalary_periodcurrencysignature_datesignatures_present | Titular |
generic | Outro documento | - | - |
us_acord_25 | Certificado de seguro de responsabilidade 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 | - |
Accepting several types with expect
Often more than one document is fine: "DNI, NIE or passport". Pass a list in expect (up to 20 types). The verdict is valid if the document is any of them and passes the checks.
{
"expect": ["es_dni", "es_nie", "passport", "eu_id_card"],
"checks": { "min_age_years": 18, "holder": { "full_name": "María García López" } }
}- The detected type arrives in
document.typeandverdict.expectedrepeats your list. - If a catalogue type is recognised that is not in the list, the verdict is
invalidwith thetype_mismatchreason. - If the document cannot be identified (
generic) or classification confidence is below 0.5, the reason istype_unknownand the verdictreview.
Each check only applies if the detected type has the relevant field: min_age_years on a DNI, max_age_days on a certificate, expected_amount on a receipt. If you mix types, pick checks that make sense for all of them or branch on document.type. Which checks each type supports is given by its checks list in GET /v1/document-types/{type}.
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);In test mode, a file named nie.jpg returns a valid NIE for ANNA KOWALSKA.
generic with your own schema
If your document is not in the catalogue (a club authorisation, an internal form, an unusual certificate), analyse it with generic and describe the fields with a JSON Schema in extract:
{
"expect": "generic",
"extract": {
"type": "object",
"properties": {
"club_name": { "type": "string", "description": "Name of the club issuing the document" },
"member_name": { "type": "string", "description": "Member's full name" },
"season": { "type": "string", "description": "Season, e.g. 2026-2027" },
"signed": { "type": "boolean", "description": "Whether the document is signed" }
}
},
"checks": { "require_fields": ["club_name", "member_name"] }
}Fields come back in fields with value, confidence and position, just like catalogue types. generic has no deterministic validators and no expiry: the useful checks are require_fields and max_age_days. Result quality depends on how clear your schema's description texts are. More in POST /v1/analyze.
You can also pass your own schema with a catalogue type to keep only some fields: start from the schema returned by GET /v1/document-types/{type}.
New types in your code
The catalogue grows. Build your integration so it does not break if document.type carries a type it does not know: treat it as "other document" and send it to review. If you validate your configuration at startup, do it against GET /v1/document-types, not against a hard-coded list.
Next steps
SLA and status
The Constaia API health endpoint, how to get support with X-Request-Id, which SLA each plan has and how to make your integration resilient to failures.
API reference
Interactive reference and OpenAPI 3.1 specification of the Constaia API, /v1 conventions, client generation and import into Postman, Insomnia or Bruno.