This webhook is part of the legacy INE and CURP verification solution. If you are interested in Mexican database verification solutions, see the documentation of the INE Database Verification and CURP Database Verification solutions.
The INE+CURP webhook passes data after the combined checks in the Mexican Electoral Registry (Instituto National Electoral) and the Population Registry (Clave Única de Registro de Población) have been completed.
The payload is sent to Webhook INE CURP registry URL, which you need to set up in the Veriff Customer Portal.
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
When is INE + CURP webhook sent?
The INE + CURP webhook is sent after the verification session is done and after the registry checks have been completed.
Prerequisites
- Make sure you have access to the Veriff Customer Portal
- Set up webhook URL(s) on your side and have them at hand
- Make sure they match the Webhook URL requirements
- Make sure your system is able to handle Webhooks receipt, delivery and resending requirements
- Check the Webhooks headers and payload section for info
- Secure your communication, check the HMAC Authentication and Endpoint Security article
- Make sure your system is able to handle the Backwards compatible changes
5.Proceed to /v1/docs/inecurp-webhook#inecurp-webhook-setup
INE+CURP webhook setup
Log in to the Veriff Customer Portal
Navigate to the Integrations page via the top menu and open the integration used for the registries check
On the integration's page, select the Settings tab
Under the title Integration settings you see a list of webhooks
Fill in the
Webhook INE CURP registry URL
→ See Webhooks Guide > Set up webhooks sub-section for detailed overview of the setup process
Additional notes
The
data.details.inefield returns eitherifeIdentifierorineIdentifier. Both are not present at the same time.
ifeIdentifeir and ineIdentifier both represent person's identification number. ife is a legacy name, it was changed to ine.
Sample request
{
"eventType": "combined-ine-curp-registry",
"sessionId": "f04bdb47-d3be-4b28-b028-a652feb060b5",
"vendorData": "1234567812345678",
"endUserId": "a1b2c35d-e8f7-6d5e-3cd2-a1b2c35db3d4",
"attemptId": "e30122d1-740b-4764-853f-470374a7abf4",
"version": "1.0.0",
"data": {
"status": "found",
"code": 200,
"details": {
"ine": {
"active": true,
"status": "La credencial esta vigente",
"comments": [
"CIC 000000000\r\nClave de elector ...",
"Fecha de actualización de la información: ...",
"Fecha de consulta: 11 de agosto del 2023",
"Tus datos se encuentran en el Padrón Electoral,..."
],
"information": "CIC 000000000\r\nClave de elector š... ",
"ifeIdentifier": "",
"ineIdentifier": "000000000"
},
"curp": {
"curp": "ABCD000000HVZRGS00",
"names": "JUAN",
"gender": "HOMBRE",
"regionCode": "VZ",
"statusCurp": "RCN",
"descriptionStatusCurp": "Registro de cambio no afectando a curp",
"birthRegion": "Veracruz",
"dateOfBirth": "06/04/1991",
"nationality": "MEX",
"firstSurname": "JUAREZ",
"secondSurname": "PEREZ",
"documentEvidence": 1,
"docEvidenceData": {
"book": "",
"sheet": "",
"volume": "",
"actNumber": "00123",
"registryCity": "",
"regionRegistry": "30",
"registrationYear": "1991",
"registryCityCode": "125",
"registryRegionCode": "VZ"
},
}
}
}
}Full forms of the CURP data status acronyms
The field statusCurp returns acronyms, which mean the following:
For active CURP: AN (Alta Normal), AH (Alta con Homonimia), CRA CU (CURP Reactivada), RCN (Registro de Cambio no Afectando a CURP), RCC (Registro de Cambio Afectando a CURP)
For inactive CURP: BD (Baja por Defuncion), BDA (Baja por Duplicidad), BCC (Baja por Cambio en CURP), BCN (Baja no Afectando a CURP)
Request properties explained
*Required field
eventType:string* CURP registry check namesessionId:string* UUID for the session where this check was executedvendorData:string | null* The unique identifier that you created for your end-user.nullif not specifiedendUserId:string | null* TheUUIDthat you created for your end-user.nullif not specifiedattemptId:string* UUID v4 which identifies session attemptversion:string* Version number of the checkdata:object | null* Array of data objectsstatus:string* Status of the data, one offound,not foundcode:number* An integer number of the HTTP status code. See the Common HTTP status codes table for more infodetails:object* Details connected to the specific check against the registryine:object* Details about the INE/IFE identification numberactive:booleanIndication of if the INE identification number is active (true) or inactive (false)status:stringExplanation of thedata.statusvalueinformation:stringExtra information about the INE identification numbercomments:arrayComments regarding the status of the identificationifeIdentifier:string | nullINE identification number. When this is returned, theineIdentifieris not present.ineIdentifier:string | nullIFE identification number. When this is returned, theifeIdentifieris not present.
curp:object* Details about the CURP identification numbercurp:stringCURP identification numbernames:stringNamegender:stringGender, one ofHOMBRE,MUJERregionCode:stringRegion codestatusCurp:string | nullCurp data status acronym, one ofAN,AH,CRA CU,RCN,RCC,BD,BDA,BCC,BCNdescriptionStatusCurp:stringExplanation of thedetails.curp.statusCurpvaluebirthRegion:stringBirth regiondateOfBirth:stringDate of birth, represented as DD/MM/YYYY,nationality:stringNationalityfirstSurname:stringFirst surnamesecondSurname:stringLast surnamedocumentEvidence:numberDocument evidencedocEvidenceData:objectDetails about the document evidence databook:stringBooksheet:stringSheetvolume:stringVolumeactNumber:stringAct numberregistryCity:stringRegistry cityregionRegistry:stringRegion registryregistrationYear:stringRegistration yearregistryCityCode:stringRegistry city coderegistryRegionCode:stringRegistry region code
Changelog
Date | Description |
|---|---|
Nov 14, 2025 | Legacy note added |
Mar 12, 2025 | Documentation published |